2016-10-26 4 views
0

У меня есть приложение MVC, которое использует 2 разных БД на разных серверах. Одна БД использует учетную запись службы, а другая использует проверку подлинности Windows. Имя пользователя Windows из другого домена. Поэтому я олицетворяю пользователя Windows и запрашиваю DB с помощью ADO.Net.Не удалось подключить SQL после хостинга в IIS (олицетворение)

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

Я получил этот код из приведенной ниже ссылки.

How do you do Impersonation in .NET?

Он работает отлично в моей локальной машине. Но когда я опубликовал IIS, я получаю следующую ошибку. (БД, использующая учетную запись службы, работает нормально)

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 Server не имеет студию управления SQL Server для входа и проверки. Пожалуйста, помогите

ответ

0

Попробуйте добавить

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

выше линии в вас Web.config файл, «Foo» и «бар» является имя пользователя и пароль для компьютера, на котором размещен сервер IIS.