我的任务是将已在开发环境中成功运行的应用程序部署到暂存环境。部署发布的文件并配置 IIS 后,我可以看到初始登录屏幕,正如预期的那样。但是,当我尝试登录时,我得到:
Cannot open database "db1" requested by the login. The login failed.
Login failed for user 'user1'.
该设置包含以下部分:Windows Web Server 2008 R2、SQL Server Express 2008 R2、IIS 7、ASP.NET MVC4 和 Entity Framework 4.4
谷歌搜索没有发现任何成功的线索 - 这里和其他地方发布的答案都与最终不正确的凭据或服务器属性中未启用双模式身份验证有关。我看到服务器属性中启用了双模式身份验证,我可以通过在 SSMS 中使用 SQL Server 或 Windows 身份验证登录来确认这一点。这也向我证实了凭据是好的并被服务器接受。(如果我的想法有误,请纠正我)
SQL Server、IIS 和我正在测试的浏览器都在同一台机器上运行。
这是我的连接字符串:(替换了内部信息)
<add name="app1Entities" connectionString="metadata=res://*/app1.csdl|res://*/app1.ssdl|res://*/app1.msl;provider=System.Data.SqlClient;provider connection string="data source=localhost\SQLEXPRESS;initial catalog=db1;user id=user1;password=pass1;multipleactiveresultsets=True;App=EntityFramework"" providerName="System.Data.EntityClient" />