2013-01-10 92 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

相关问题