部署的MVC应用程序无法连接到数据库

时间:2010-11-04 01:52:12

标签: asp.net asp.net-mvc-2 connection-string database-connection

我的应用程序运行正常,当我针对我的sql express进行调试时。 现在我已经在另一台机器上使用win2008 Web服务器在IIS上部署并更改了数据库连接字符串。

我希望应用程序始终使用相同的用户连接到数据库,而不是使用已连接用户的身份。

我得到的错误是

Error: Cannot open database "XXXXXX" requested by the login. The login failed. Login failed for user 'NT AUTHORITY\NETWORK SERVICE'

我怎样才能实现这一目标?

2 个答案:

答案 0 :(得分:2)

在不知道当前连接字符串是什么的情况下,请查看此站点以获取对各种连接字符串设置的一些指导:http://www.connectionstrings.com/sql-server-2008。它就像在数据库中设置一个sql帐户一样简单,然后在连接字符串中使用这个用户名/密码,如下所示:

Data Source=myServerAddress;Initial Catalog=myDataBase;User Id=myUsername;Password=myPassword;

答案 1 :(得分:0)

如果您可以使用SQL身份验证,则可以将用户名和密码指定为连接字符串的一部分。您甚至可以在Web.Config文件中加密此信息,这样您就不必担心人们会查看它。

如果您无法使用SQL身份验证(大多数政府机构安全设置要求禁用此功能),您可以使用用于运行Web应用程序的应用程序池标识的凭据。看起来这就是您正在发生的事情,并且您正在使用默认的网络服务凭证。如果没有使用凭据,那么如果使用Sql Profiler,则会导致用户'或匿名用户登录失败。

尝试将应用程序池标识帐户更改为有权访问您数据库的真实用户。