У меня есть два настольных клиента с VS 2017. Я унаследовал приложение C#. NET, которое подключается к серверу SQL в соседней комнате. Обычно мы используем SQL аутентификацию сервера (в отличие от Windows аутентификации), когда выполняем SQL запросов.
Я использую строку подключения, которая выглядит примерно так ...
"Data Source=DR101; User Id = DR_DATA; Password = CD7504st; Integrated Security=SSPI; TransparentNetworkIPResolution=False"
... который работает как шарм с первого рабочего стола. Со второго рабочего стола он всегда не может получить доступ к базе данных, выдавая ошибку, указывающую на ошибку входа Windows ...
... вызвало исключение.
System.Data.SqlClient. SqlException: Не удалось войти в систему для пользователя «SDAR \ SdarAutoSv c»
Я сравнил все, что я могу придумать, между этими двумя системами. Насколько я могу судить, они идентичны почти во всех смыслах ... оба используют одну и ту же Visual Studio (Справка> О программе и сравнивают длинный список версий модулей. Идентичны в обеих системах), один и тот же модуль System.Data.dll
, тот же App.config
, C# исходный код, входные данные и т. д. c.
Неисправная система дает сбой только через это приложение Visual Studio, т.е. я могу достичь базы данных сервер с этого рабочего стола через SMSS, используя учетные данные SQL сервера (не Windows аутентификацию).
Я не знаю, как эта вторая машина может не иметь доступа к базе данных и почему очевидно, использует Windows auth, а не sql userId / пароль из строки подключения.