我在堆栈溢出和MSDN上读过其他类似的问题,但仍然找不到这个问题的答案。
我的开发机器正在运行VS2010SP1和IIS7。IIS7是在.Net框架之后安装的,所以我不得不手动配置网站。我正在本地将应用程序部署到IIS,而不是使用Casinni。
环境:
上
在Visual中的“网站选项”中,选择“使用IIS”并单击“创建虚拟目录”(即。它成功地创建了目录)。
但是,当我运行应用程序时,我会看到一个SQL连接错误,它说:
与Server建立连接时发生的网络相关或特定实例错误.找不到或无法访问服务器。验证实例名是否正确,以及Server是否配置为允许远程连接。
SQL Server被配置为允许远程连接,并且我可以使用相同的凭据从dev计算机连接到Management中的SQL Server (目前是sa帐户,是的,我知道这很糟糕,以后会更改它,这只是为了开发目的)。
为了以防万一,我尝试将条目machine.config
文件LocalSqlServer
更改为指向服务器,但这并没有帮助,即使服务器是远程的,也不是本地的。
我还尝试将其添加到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中的网站属性并将其更改为“使用”,则应用程序可以正常工作,并连接到Server。
所以当我使用IIS时,web.config
和machine.config
的连接字符串被访问.那么IIS在哪里查找连接字符串呢?我很困惑!
在服务器上,启用了命名管道和TCP/IP。
发布于 2012-05-06 06:03:00
您说过在服务器上启用了命名管道和TCP/IP。
尝试删除“网络Library=dbnmpntw”元素。如果这不起作用,尝试将其更改为"Network Library=dbmssocn“,并查看它是否将使用TCP/IP进行连接。
https://stackoverflow.com/questions/10470793
复制相似问题