2009-08-30 66 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