VS C# Sql Клиент не может подключиться к SQL серверу, использует Windows auth вместо SQL Server auth - PullRequest
0 голосов
/ 05 мая 2020

У меня есть два настольных клиента с 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 / пароль из строки подключения.

1 Ответ

3 голосов
/ 05 мая 2020

Если вы хотите SQL аутентификации сервера , удалите Integrated Security=SSPI; из строки подключения.

Попробуйте использовать эту строку подключения -

 "Data Source=DR101; User Id = DR_DATA; Password = CD7504st; TransparentNetworkIPResolution=False"
...