Pyodbc принимает только аутентификацию Windows

У меня есть один скрипт python, который подключается к серверу MS SQL из Windows через pyodbc. При попытке аутентификации Windows он подключается к базе данных, но при попытке аутентификации сервера SQL (с именем пользователя и паролем) он показывает ошибку ниже.

"('28000',"[28000] [Microsoft][Драйвер ODBC SQL Server][SQL Server] Ошибка входа для пользователя 'xxxx'. (18456) (SQLDriverConnect); [28000] [Microsoft][Драйвер ODBC SQL Server]][SQL Server] Ошибка входа для пользователя 'xxxx'. (18456)")".

Но я могу подключиться к SQL-серверу, используя это имя пользователя и пароль (учетные данные SQL-сервера). Я включил чтение БД, разрешение записи для этого пользователя на вкладке сопоставления пользователей, и проверка подлинности SQL-сервера также находится во включенном состоянии. Это становится узким местом. Решения приветствуются. Заранее спасибо!!!.

1 ответ

Сегодня я узнал, что в Python больше всего важны верхний и нижний регистр. Моя предыдущая строка подключения:

conn=pyodbc.connect(r'DRIVER=SQL Server;SERVER=10.60.144.13;UID=BOT_Autoheal;PWD=bot_Aut0h3a1;DATABASE=OO_GlobalAutoHealing;TRUSTED_CONNECTION=NO';)

Но фактическая строка подключения сработала для меня,

conn = pyodbc.connect(r'DRIVER = SQL Server;SERVER = 10.60.144.13;UID = BOT_Autoheal;PWD = bot_Aut0h3a1;DATABASE = OO_GlobalAutoHealing;Trusted_Connection=no')

Поэтому всегда используйте Trusted_Connection=no как есть, не пытайтесь изменить его на верхний регистр.

Другие вопросы по тегам