当我尝试使用 Sql Server 2008 Express 在 IIS 7 上加载 Asp.NET MVC 应用程序时,出现以下错误。该应用程序使用 Linq to SQL。
建立与 SQL Server 的连接时发生与网络相关或特定于实例的错误。找不到或无法访问服务器。请验证实例名称是否正确以及 SQL Server 是否配置为允许远程连接。(提供程序:命名管道提供程序,错误:40 - 无法打开与 SQL Server 的连接)
我进行了一些搜索,所有答案都指向在 Sql Server 配置中启用 TCP 连接,但我这样做无济于事。
我使用的连接字符串是:
服务器 =SERVERNAME\SQLEXPRESS;数据库 =DBName;集成安全 = true
问题是,我有另一个应用程序,它已经可以很好地与 SQL Server 通信。甚至在操作 SQL Server 配置设置之前。
另一个应用程序使用以下连接字符串:
数据源 = SERVERNAME \ SQLEXPRESS;初始目录 = OtherDbName;集成安全性 = True;持久安全信息 = False;连接超时 = 120
我已经在应用程序上尝试了这个连接字符串,但它仍然不起作用。
请帮帮我。我觉得我快要疯了
答案1
当您使用集成身份验证时,它将作为您网站的应用程序池运行。检查应用程序池标识并确保它具有对数据库的必要权限。
此外,不同版本的 ASP.NET 可能使用不同的数据库驱动程序默认值(这种情况很少见)。为了混淆,这里是另一个标准连接字符串:“Data Source=servername\sqlexpress;Initial Catalog=DBName;Integrated Security=SSPI;”但它应该与您所拥有的相同。