2010-07-25 170 views
0

ASP.NET:連接到SQL Server數據庫

我如何的Visual Web Developer連接到SQL Server Express 2008(非常新手問題,請如果你能幫助)?在數據庫資源管理器中,我右鍵單擊數據連接,單擊添加連接...,並在數據源框中我選擇Microsoft SQL Server(sqlClient),我猜測我沒有連接到數據庫文件,但到sql server表達自己(?)。在服務器名稱框中,當我單擊下拉框時,沒有任何內容,這就是我卡住的地方。

有人可以提供一個鏈接,我可以如何連接到sql server express;最好不是一個MSDN鏈接,因爲我在那裏並且在漫遊中掙扎。感謝

回答

1

通常你可以輸入.\SQLEXPRESS連接到本地SQL Server Express安裝...

點意味着你的,就像本地主機計算機,和\ SQLEXPRESS的是SQL Server實例的服務器正在運行...這是SQL Server Express的默認實例名稱...

+0

嘿,這讓我比以前更接近,但仍然沒有聯繫。我現在得到這個錯誤:無法添加數據連接。 ExecuteScalar需要一個開放且可用的Connection。連接的當前狀態已關閉。 – 2010-07-25 04:28:08

0

Sql Server Express是一個服務器類數據庫引擎。這意味着,是的,你連接到服務器而不是直接讀/寫文件。服務器引擎將處理對數據的訪問。

這很重要。這是允許sql server安全地處理像asp.net網站這樣的情況的機制,其中每個頁面請求都在不同的線程中運行,並且您可能有許多人都想同時寫入數據庫。如果每個進程都只是寫入文件,那麼您會遇到數據損壞的問題。將請求發送到單個服務器進程允許它正確地確保每個項目在單獨的獨立事務中運行,並安全地處理這些操作。

該機制對性能也很重要。它允許系統執行諸如將表和索引預加載到內存中一次,供正在對該數據發出請求的任何進程使用。這就是爲什麼一個像sql server這樣的服務器引擎表達甚至mysql在數據擴展性能方面總是能夠擊敗象sqlite這樣的進程內引擎,即使sqlite開始時的資源密集度更低,而且通常在小的時候似乎更快數據或小負載。

需要有該服務器進程在運行也是爲什麼你應該使用SQL Server本地桌面應用程序表達。在這種情況下,您不希望強制用戶使用內存全天候使用服務器進程來緩存索引和表數據,這些數據可能只是偶爾參考的內容。這是你的sql服務器契約,sqlite和訪問數據庫的地方。

至於你的具體連接問題,有很多事情可能會導致這種情況。你確定sql server express目前已經安裝並運行在你的系統上嗎?如果您手動輸入「localhost」或「./SQLEXPRESS」,會發生什麼情況?

+0

我剛剛嘗試過「./SQLEXPRESS」,並且出現此錯誤:無法添加數據連接。 ExecuteScalar需要一個開放且可用的Connection。連接的當前狀態已關閉。 – 2010-07-25 04:50:07

+0

@ 400_the_cat:一旦創建了連接,之後需要在運行'.ExecuteScalar()'(和'.Close()')之前調用'.Open()'。但是這表明你的連接正在工作! – 2010-07-25 07:35:08

0

單擊Visual Studio中的工具。選擇連接到數據庫。從「選擇數據源」窗口中選擇數據源.. Microsoft Sql Server。然後繼續。新窗口將打開「添加連接」,在「數據源」 中鍵入Microsoft SQL Server(SqlClient),然後選擇服務器名稱。從選擇或輸入數據庫名稱中選擇您的數據庫名稱。並點擊測試連接。

在測試連接窗口中複製連接字符串......並且您可以在您的應用程序的'web.config中使用它。或在你的頁面