Sql-Server

使用什麼連接字元串連接到網路伺服器?

  • June 15, 2015

我的電腦上有一個在 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 StudioMyMachineName並將數據庫附加到那裡並\SQLEXPRESS從我的連接字元串中刪除時,我現在可以訪問它了。

問題解決了。

引用自:https://dba.stackexchange.com/questions/104106