2013-01-10 124 views
0

我有一個調用DLL的Web應用程序,這個DLL有一個連接到SQL Server的另一個DLL的引用。在做了一些調試之後,我發現正在生成以下錯誤:用戶'DOMAIN \ username'登錄失敗。只有當Web應用程序部署到IIS時,纔會發生這種情況,通過Visual Studio進行調試時,所有工作都會相應進行以下是我用來連接的連接字符串:當應用程序部署到IIS時登錄到sql失敗

string strConnectionString = "user id=" + strUsername + 
          ";password=" + strPassword + 
          ";server=" + strServer + 
          ";Trusted_Connection=false;database=" 
          + strDatabaseName + ";connection timeout=30"; 

正在從web.config中檢索值。請任何想法嗎?

+3

爲什麼不簡單使用'.config'模式中定義的'connectionStrings'節? – Oded

+0

該網站正在以哪個用戶帳戶運行? – twoleggedhorse

+0

@twoleggedhorse - 這有什麼關係嗎? OP正在提供一個SQL登錄。 – Oded

回答

1

考慮到錯誤消息,看起來您的應用程序沒有使用您提供的連接字符串。相反,它使用集成的Windows安全登錄到數據庫。這將工作,而你是在本地機器上,你有SQL服務器本地安裝,但不是在IIS上,因爲您的帳戶將無權登錄到SQL Server。

我建議,嘗試調試應用程序,看看它是否真的使用你提供的連接字符串。

此外,您可以使用web.config中的connectionstring,而不是在代碼中提供值並重新構建連接字符串。

+0

我改變了用戶名到我的web.config中的其他東西,以便我可以檢查我的應用程序是否實際使用我的連接字符串連接並在連接字符串中使用新的用戶名。 – krafo

+0

我接受了你的建議,並在web.config中使用了連接字符串,但仍然是同樣的問題;下面是我在web.config中的連接字符串: krafo

相關問題