別のサーバーで2つの異なるDBを使用するMVCアプリケーションがあります.1つのDBはサービスアカウントを使用し、別のアカウントはWindows認証を使用します。 Windowsユーザー名は別のドメインのものです。だから私は、Windowsユーザーを偽装し、ADO.Netを使用してDBを照会しました。IIS(偽装)でホストした後でSQLを接続できません
using (new Impersonation(domain, username, password))
{
//code to fetch the data using ADO.Net
}
このコードは、次のリンクから取得しました。
How do you do Impersonation in .NET?
それは私のローカルマシンで正常に動作しています。しかし私がIISに公開したとき、私は以下のエラーを受けています。 (サービスアカウントを使用しているDBが正常に動作しています)
A network-related or instance-specific error occurred while establishing a connection to SQL Server. The server was not found or was not accessible. Verify that the instance name is correct and that SQL Server is configured to allow remote connections. (provider: Named Pipes Provider, error: 40 - Could not open a connection to SQL Server)
IISに任意のアクセス許可や設定を追加する必要がありますか。 IISがホストするサーバーには、ログインして確認するSQL Server Management Studioがありません。 線の上
<system.web>
<identity impersonate="true" userName="foo" password="bar"/>
</system.web>
を追加する