我有一个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工作室登录和检查。 请帮忙
答案 0 :(得分:0)
尝试添加
<system.web>
<identity impersonate="true" userName="foo" password="bar"/>
</system.web>
在Web.config
文件的上方,&#34; foo&#34;和&#34; bar&#34;是托管iis服务器的计算机的用户名和密码。