Python pyodbc подключиться к Sql Server с использованием аутентификации SQL Server - PullRequest
0 голосов
/ 13 ноября 2018

Сведения о пользователе в окне отличаются от пользователя сервера Sql, в который я захожу. Поэтому я попытался использовать pyodbc для подключения к базе данных, используя имя пользователя (Admin_JJack) и пароль. Но показ окон не удается для пользователя окна (Джек), и я не знаю, где происходит ошибка.

строка подключения:

connection = pyodbc.connect(
    "Driver={"SQL Driver"};"
    "Server= "ServerName";"
    "Database="DatabaseName";"
    "UID="UserName";"
    "PWD="Password";"
    "Trusted_Connection=yes"
)

pyodbc.InterfaceError: («28000», «[28000] [Microsoft] [Собственный клиент SQL Server 11.0] [SQL Server] Ошибка входа для пользователя« Джек ». (18456) (SQLDriverConnect);

Как подключиться к базе данных с использованием аутентификации сервера sql?

1 Ответ

0 голосов
/ 13 ноября 2018

Когда вы используете "Trusted_Connection = yes", оба ключа UID и PWD игнорируются, а учетная запись Windows используется для аутентификации.

Если вы хотите использовать для аутентификации значения UID и PWD вместо учетной записи Windows NTLM, вы должны использовать «Trusted_Connection = No» или удалить эту опцию из строки подключения.

Trusted_Connection

Указывает, подключается ли пользователь через учетную запись пользователя с помощью либо Kerberos [RFC4120], либо другая аутентификация для конкретной платформы как указано в поле fIntSecurity (подробнее см. [MS-TDS] раздел 2.2.6.4).

Допустимые значения: «Да», «1» или пустая строка, которые эквивалент или «Нет». Если значение «Нет» не указано, значение «Да» используется.

Если установлено значение «Нет», необходимо использовать клавиши UID и PWD для установить соединение с источником данных.

Если ключ DSN и ключ UID не включены в соединение строка или, если значение ключа UID является пустой строкой, значение ключ Trusted_Connection должен иметь значение «Да». Если Trusted_Connection ключ не указан в строке подключения, значение должно быть получено из содержимого настроек в ключе DSN. Если Ключ Trusted_Connection не указан в DSN или если данный DSN не существует, значением по умолчанию является «Нет».

Если значение ключа Trusted_Connection равно «Да», то и UID, и Клавиши PWD игнорируются. В противном случае необходимо указать ключ UID.

В реализациях Microsoft эта учетная запись пользователя является пользователем Windows учетная запись и проверка подлинности NTLM [MSDN-NTLM] используется, когда значение ключ Trusted_Connection имеет значение «Да».

источник: https://msdn.microsoft.com/

...