2009-10-02 64 views
0

我開發是連接到SQL Server數據庫使用SQL帳戶即在格式「服務器= THESQLSERVER一個連接字符串的ASP.NET應用程序;數據庫= theDb; UID =來賓; PWD =來賓;」。在Visual Studio的開發環境中一切正常。但是,當我將應用程序發佈到我的IIS(v5.0)網絡服務器時,出現以下錯誤:奇怪問題連接到數據庫,從已發佈的ASP.NET應用程序

與SQL Server建立連接時發生網絡相關或實例特定的錯誤。服務器未找到或無法訪問。驗證實例名稱是否正確,並將SQL Server配置爲允許遠程連接。 (提供程序:命名管道提供程序,錯誤:40 - 無法打開到SQL Server的連接)。

有趣的是,正是在做同樣爲不同的服務器,當應用程序發佈工作正常。

誰能提供可能解釋這種行爲的任何指針或鏈接。我已經做了一些搜索,但找不到明顯與問題相關的任何內容。請不要爲此而自殺,因爲這不是一個阻止交易的問題。我只是很好奇。 謝謝。大衛

回答

2

嗯,這是近我們看到了很多無用的錯誤其中之一。

最簡單的選項,以檢查SQL Server實際上不會允許遠程連接。 第二次嘗試從部署該站點的PC的Management Studio連接。也嘗試一些用戶。這樣做時,請確保在配置中使用服務器名稱,並嘗試使用IP地址。

+0

可能是我沒有說清楚,該網站目前正在託管我的dev的機器。因此,在我的盒子上的Visual Studio中進行調試時,連接可以正常工作,但在發佈到開發機器IIS網站時會失敗。按照預期,Management Studio可以正常連接。這與運行IIS的NT帳戶有什麼關係?這就是我現在所能想到的。大衛 – user120381 2009-10-02 12:06:07

+0

確實發佈到IIS確實運行在不同用戶的上下文中的網站。 您可以轉到IIS並在目錄安全下取消允許匿名用戶並勾選集成安全性。 或者將匿名用戶名和密碼更改爲有權連接到SQL Server的用戶。 最後,您可以授予匿名用戶帳戶連接到SQL Server的權限。 – Robert 2009-10-12 11:18:27