2013-05-29 34 views
0

我有兩個.net解決方案。 他們都有這樣的代碼:相同的連接成功,並在不同的.net解決方案中失敗

var connectionString = "Server = ServerName; Database = DatabaseName; Trusted_Connection=True;" 
var connection = new SqlConnection(connectionString); 

connection.Open(); 
connection.Close(); 

,他們都使用complitely相同的connectionString。他們連接到MSSQL服務器;

而在第一個解決方案connection.Open()成功,第二個失敗。 錯誤消息:命名管道提供程序,錯誤:40 - 無法打開到SQL Server的連接

而且每次創建新解決方案都失敗。所以這個連接只適用於一個特定的解決方案。而且,我的隊友們測試了這個,並沒有這樣的問題。 你能幫助暗示爲什麼它可以如此嗎?

+8

拋出了什麼異常 –

+1

如果你沒有提供錯誤信息,你如何期待我們幫助你? –

+0

所有這些不同的.net解決方案都在你的計算機上運行? – neo

回答

0

對不起,打擾你了。我的問題是我的注意力不集中。我在另一臺網絡機器上創建了soluiton。

2

檢查您的SQL服務器是否啓用了TCP/IP協議,如果它使用的是動態端口,請確保SQL瀏覽器服務正在運行。

確保任何防火牆軟件(Windows防火牆等)都爲特定的exe文件添加了一個異常(sqlservr.exe文件被複制到實例文件夾中,該文件夾將位於C:\Program Files\Microsoft SQL Server\{instance name}\MSSQL\Binn中,其中實例名稱可能類似於MSSQL11.SQLEXPRESS)或TCP端口1433或UDP端口1434(用於SQL服務本身的TCP 1433假定標準設置,用於SQL瀏覽器服務的UPD 1434)。

檢查用於訪問服務器的用戶帳戶(它應該具有足夠的權限並且應該啓用登錄),在這種情況下,它將是您登錄的任何Windows帳戶或任何帳戶您的IIS應用程序池正在運行,因爲您正在使用Trusted_Connection=True

此外,請檢查您的計算機上是否有最新的SQL客戶端,您可以獲取windows的最新版本here

1

打開Sql Server配置管理器,並確保爲您的SQL Server實例啓用了命名管道選項。

+0

命名管道啓用 – Vas

+0

是否啓用TCP/IP? – user65439

+0

是,它啓用 – Vas

相關問題