使用什麼連接字元串連接到網路伺服器?
我的電腦上有一個在 SQL Server Express 2014 上執行的數據庫,我希望連接到我的網路的其他電腦能夠使用我編寫的 C# 程序連接到它。
我做了以下事情:
**1.關閉windows防火牆。**我知道我不需要完全這樣做,但我只是在調試。
2. 在執行實例的機器上的 SQL Server 配置管理器中啟用 TCP/IP。
我無法為所有機器更改此設置。在我嘗試連接的電腦上,而不是託管數據庫的電腦上,我無法啟用此功能。我不確定這是否有問題。但是,在我的機器上,我幾乎啟用了所有內容並重新啟動了所有內容。
3.允許遠端連接
使用
.UDL
文件測試連接,我發現在我的電腦上,如果我選擇MyComputerName
作為伺服器,我看不到我的數據庫列出。但是如果我輸入MyComputerName\SQLEXPRESS
,我確實看到了數據庫,並且可以通過集成的 Windows 安全性連接到它。但是如果我登錄另一台電腦並使用 a
.UDL
來測試連接。如果我作為伺服器輸入,我可以連接MyComputerName
,但如果我嘗試MyComputerName\SQLEXPRESS
作為伺服器輸入,它會非常努力,但然後告訴我$$ DBNETLIB $$$$ ConnectionOpen (Connect()). $$SQL Server 不存在或訪問被拒絕。
同樣,在我的電腦上使用以下連接字元串工作
Server=MyMachine\SQLEXPRESS;Database=MyDatabase;Integrated Security=True; Server=MyMachine\SQLEXPRESS;Database=MyDatabase;Trusted_Connection=True;
但是在網路上的另一台電腦上,我得到了錯誤
建立與 SQL Server 的連接時發生與網路相關或特定於實例的錯誤。伺服器未找到或無法訪問。驗證實例名稱是否正確以及 SQL Server 是否配置為允許遠端連接。(提供者:命名管道提供者,錯誤:40 - 無法打開與 SQL Server 的連接)
但我知道伺服器允許遠端連接並且實例名稱正在執行,所以我被卡住了。關於從這裡去哪裡的任何想法?
我找到了解決方案。也許有人可以對此進行擴展,因為我並不完全理解。
當我像
MyMachineName\SQLEXPRESS
往常一樣打開 Management Studio 時,將數據庫附加到那裡,我無法通過MyMachineName\SQLEXPRESS
連接字元串訪問它。但是,當我以 重新打開 Managment Studio
MyMachineName
並將數據庫附加到那裡並\SQLEXPRESS
從我的連接字元串中刪除時,我現在可以訪問它了。問題解決了。