在IIS中托管后无法连接SQL(模拟)

时间:2016-10-26 12:48:46

标签: c# sql-server asp.net-mvc iis impersonation

我有一个MVC应用程序,它在不同的服务器中使用2个不同的DB。一个DB使用服务帐户,另一个使用Windows身份验证。 Windows用户名来自不同的域。所以我冒充Windows用户并使用ADO.Net查询数据库。

using (new Impersonation(domain, username, password))
{
   //code to fetch the data using ADO.Net
}

我从以下链接获得此代码。

How do you do Impersonation in .NET?

它在我的本地机器上工作正常。但是当我发布到IIS时,我收到以下错误。 (使用服务帐户的DB工作正常)

  

发生与网络相关或特定于实例的错误   建立与SQL Server的连接。找不到服务器或   无法访问。验证实例名称是否正确   SQL Server配置为允许远程连接。 (提供者:命名   管道提供程序,错误:40 - 无法打开与SQL Server的连接)

我是否需要在IIS中添加任何权限或设置。 IIS托管服务器没有SQL Server Management工作室登录和检查。 请帮忙

1 个答案:

答案 0 :(得分:0)

尝试添加

<system.web>
    <identity impersonate="true" userName="foo" password="bar"/>
</system.web>

Web.config文件的上方,&#34; foo&#34;和&#34; bar&#34;是托管iis服务器的计算机的用户名和密码。