Iis 7 IIS无法连接到SQL Server 2008R2

Iis 7 IIS无法连接到SQL Server 2008R2,iis-7,sql-server-2008-r2,connection-string,Iis 7,Sql Server 2008 R2,Connection String,我已经阅读了关于堆栈溢出和MSDN的其他问题,但仍然找不到这个问题的答案 我的开发机器正在运行VS2010SP1和IIS7。IIS7是在.Net framework之后安装的,因此我必须手动配置网站。我正在本地将应用程序部署到IIS,而不是使用Casini 环境: Win7 64位上的Visual Studio 2010(开发机器) 在Win7 64位上运行的IIS(开发计算机) 在Win2008上运行的SQL Server 2008(服务器) 在VisualStudio中的网站选项中,我选

我已经阅读了关于堆栈溢出和MSDN的其他问题,但仍然找不到这个问题的答案

我的开发机器正在运行VS2010SP1和IIS7。IIS7是在.Net framework之后安装的,因此我必须手动配置网站。我正在本地将应用程序部署到IIS,而不是使用Casini

环境:

  • Win7 64位上的Visual Studio 2010(开发机器)
  • 在Win7 64位上运行的IIS(开发计算机)
  • 在Win2008上运行的SQL Server 2008(服务器)
在VisualStudio中的网站选项中,我选择UseIIS并单击CreateVirtualDirectory,它可以工作(即,它成功地创建了目录)

但是,当我运行应用程序时,会出现一个SQL连接错误,显示:

运行时发生与网络相关或特定于实例的错误 正在建立与SQL Server的连接。找不到服务器,或者 无法访问。验证实例名称是否正确,以及 SQL Server配置为允许远程连接

SQL Server配置为允许远程连接,并且我可以使用相同的凭据从开发人员计算机连接到Management Studio中的SQL Server(当前是sa帐户,是的,我知道这是错误的,稍后将对其进行更改,这仅用于开发目的)

我尝试更改条目
LocalSqlServer
machine.config
文件以指向服务器以防万一,但即使服务器是远程的,而不是本地的,也没有帮助

我还尝试将其添加到web.config:

<remove name="LocalSqlServer" />
<add name="LocalSqlServer" 
     connectionString="Data Source=esdc01;Initial Catalog=ECS;Persist Security Info=True;User ID=sa;Password=******;MultipleActiveResultSets=True;Network Library=dbnmpntw;"
     providerName="System.Data.SqlClient" />

web.config
中的连接字符串正确

如果我在VS2010中进入该网站的属性,并将其更改回“使用Visual Studio Development Server”,则该应用程序工作正常,并且确实连接到SQL Server

因此,当我使用IIS时,似乎可以访问
web.config
machine.config
,以获取它们的连接字符串。。。那么IIS在哪里寻找连接字符串呢?我很困惑


在服务器上,命名管道和TCP/IP都已启用。

您说过在服务器上已启用命名管道和TCP/IP


尝试删除“networklibrary=dbnmpntw”元素。如果不起作用,请尝试将其更改为“Network Library=dbmssocn”,并查看它是否将使用TCP/IP进行连接。

FYI如果我用服务器IP地址替换服务器名esdc01,它仍然不起作用。谢谢,我尝试了这两种方法,但都不起作用。如果我只是使用Casini开发服务器而不是IIS,它们也不起作用,而至少使用dbnmpntw设置对Casini起作用。