![](/img/trans.png)
[英]Having problems trying to connect to local SQL Server database in Visual Studio 2010 using C#
[英]SQL Server problems to connect
我正在用C#和WPF開發一個程序。 我希望數據存儲在SQL Server數據庫中。 我在我的PC上創建了一個帶有實例名稱的連接字符串,這很有效。 但是當我想通過互聯網連接IP地址時,我會遇到一些錯誤:
建立與SQL Server的連接時發生與網絡相關或特定於實例的錯誤。 未找到服務器或無法訪問服務器驗證實例名稱是否正確以及SQL Server是否配置為允許遠程連接。 (TCP提供程序,錯誤0 - 無法建立連接,因為目標計算機主動拒絕它。)
我啟用了TCP / IP,允許在SQL配置管理器中進行遠程連接,在我的防火牆中打開了一個1433的端口,但我仍然收到此錯誤。
我的連接字符串是這樣的:
String connString = @"Network Library=dbmssocn;
Network Address=127.0.0.1,1433;
Integrated security=SSPI;
Initial Catalog=db";
SqlConnection conn = new SqlConnection(connString);
conn.Open( );
我的錯誤在哪里?
配置SQL Server以允許TCP / IP連接。 轉到SQL Server配置管理器 - >網絡然后是SQL Server命名實例的協議 - > TCP / IP。
看到這個圖像!
你的連接字符串中有一個非常小的錯誤,說實話,我不能責怪你,因為它是SQL Sever行為的非常奇怪的方式。 我不確定此錯誤是否位於連接提供程序端或SQL Server實例端。 應用程序用於使用dbmssocn
(Win32 Winsock TCP / IP)連接到SQL Server的網絡庫的名稱應始終以大寫字母提及。 雖然我沒有看到任何來自MS的相關MSDN文檔來支持我的陳述,但它確實在我這樣做時起作用。 以下是您應該用於修復錯誤的連接字符串。
String connString = @“Network Library = DBMSSOCN
; Network Address = 127.0.0.1,1433; Integrated security = SSPI; Initial Catalog = db”;
說真的,我在復制你的問題時嚇壞了,而不是從我的問題中復制連接字符串,而是從其他博客復制:)。 但一切都很順利。 我還假設在鍵入此答案時,您正在連接的sql server的默認(非命名實例)實例上實際存在名為“db”的數據庫。 如果在連接字符串中更改網絡庫名稱的大小寫無效,則請仔細檢查您要連接到的sql server默認實例的數據庫“db”是否必須存在。 如果您在安裝中使用sql server的命名實例,那么該實例名稱也應該出現在連接字符串中。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.