我做的一個示例代碼和我得到了一個非常奇怪的行爲stucked,我想用我不使用此連接字符串IIS/SQL服務器連接錯誤
"Data Source=" + ServerName + "." + DomainName + ";Initial Catalog="+DBName+";Integrated Security = false;Persist Security Info=false;User ID=sa;Password=" & Mypassword & ";Connection Timeout=90"
顯然連接到SQL Server Windows集成身份驗證或(SSPI),當我使用這個Web應用程序上我得到這個錯誤:
A network-related or instance-specific error occurred while establishing a connection to SQL Server. The server was not found or was not accessible. Verify that the instance name is correct and that SQL Server is configured to allow remote connections. (provider: Named Pipes Provider, error: 40 - Could not open a connection to SQL Server)
只是要注意我創建了一個使用相同的連接字符串,並從計算機到哪裏運行的.NET應用程序IIS駐留並且工作正常。
下面是我做的步驟:
我檢查了SQL客戶端配置我打開了它,並同時啓用了TCP協議和命名管道。
我在IIS上進行了模擬,並使用了Windows身份驗證,並確保IIS使用與我的憑據相同的憑據。
我使用Wireshark來查看wut是兩個連接之間的差異,我無法理解輸出,但它似乎從IIS始終嘗試使用Windows身份驗證,雖然我已明確地使字符串不使用Windows身份驗證基本上發生的情況是,在應用程序「not_defined_in_RFC4178 @ please_ignore」中似乎相同的連接開始時的一些協商,然後IIS始終向NTLMSSP發出通知,指出我的用戶無權訪問數據庫除了通過用戶名和密碼外,所以協商失敗與IIS通常從應用程序成功。
我的問題是,請問有什麼可以解決這個問題,我有種假設有一些配置,必須經歷從IIS任何SQL客戶端使用Windows身份驗證,但我不知道在哪裏或如何禁用它
我注意到我沒有爲SQL Server連接字符串使用web.config
配置,並且這個問題發生在IIS7中。
如何是服務器名稱,域名,數據庫名設置的值是多少?他們是否正確? – Netricity 2013-03-25 11:18:01
是這樣的,它在其他常規應用程序中使用相同的確切值。這是第一件事經歷了我的想法 – 2013-03-25 11:24:27
我非常確定這不是,但是您是否試圖從'='附近刪除空格,在集成安全性= false – LukeP 2013-03-25 11:46:41