2009-08-30 102 views
4

我正在託管環境中編寫一個小型ASP.NET應用程序(意思是我沒有擁有該服務器)。DSN測試正常,但登錄失敗嘗試使用DSN到SQL Server 2005

使用託管服務提供商的webtools,我創建了一個指定驅動程序,服務器,UID,PWD和數據庫的DSN。當我測試連接時,它測試得很好。

然而,當我打開我的網頁的代碼:

 
OdbcConnection DB = new OdbcConnection("DSN=MyDSNName"); 
DB.Open(); 

我得到的錯誤:錯誤[28000] [微軟] [ODBC SQL Server驅動程序] [SQL服務器]用戶登錄失敗「 」。

我知道我使用了正確的DSN名稱,因爲當我更改爲「DSN = NonExistentDSN」時,我得到一個不同的錯誤。

我不明白爲什麼登錄時,我測試它,但不是當我在代碼中使用它。由於我不擁有服務器,因此我無法使用一些常用的故障排除工具,但我很感謝社區提供的任何反饋。

回答

4

也許DSN不保留密碼。你有沒有試圖提供登錄憑據?

OdbcConnection DB = new OdbcConnection("DSN=MyDSNName;UID=login;PWD=password;"); 
DB.Open(); 
+1

呵呵。這工作。有趣。我想知道爲什麼。 當然,它完全無法達到目的...我選擇使用DSN的原因是,我不必在頁面代碼中編碼UID和PWD。哦,至少現在它正在工作。 – 2009-08-30 23:55:04