我使用简单的数据连接创建了一个使用ASP.net的网站,该网站在localhost中运行良好。当我想发布相同的内容时,我收到了这个错误。 “无法打开登录请求的数据库”Abcdb“。登录失败。用户”XYZ-Domain\XYZ-SVR-01$
“登录失败。
XYZ-Domain\XYZ-SVR-01
$”。Data Source=XYZ-05-VM1\SQLEXPRESS;Integrated Security=True;Initial Catalog=Abcdb
”。我是否必须在我的数据库中创建用户,如上所示,否则我可以使用现有的数据库用户。我对这项技术很陌生。请帮助我。
答案 0 :(得分:0)
试试吧
<connectionStrings>
<add connectionString="Data Source=.\SQLEXPRESS;Initial Catalog=Abcdb;Integrated Security = SSPI" providerName="System.Data.SqlClient" />
</connectionStrings>
答案 1 :(得分:0)
错误表示可以访问服务器并且数据库名称正确。问题是登录无效
从登录名称,我假设您已在连接字符串中设置Integrated Security=SSPI
,因此尝试使用SQL Server上运行的应用程序的帐户进行身份验证。在您的开发计算机上,这是您的用户帐户,在典型的开发人员计算机上将授予对本地SQL Server的高访问权限
将应用程序部署到IIS后,它将在AppPool中运行,该AppPool基本上是特定用户帐户(AppPool帐户)下的进程。您需要授予此用户帐户对数据库的访问权限。在您的情况下,此帐户是您部署应用程序的服务器的网络服务帐户。因此,您需要授予网络服务帐户访问数据库的权限,或者遵循以下方法 - 清洁方法:
如果要检查数据库连接设置,请查看web.config中的connectionStrings部分。此link显示SQL Server的可用设置。