Pyodb c принимает только windows аутентификацию - PullRequest
0 голосов
/ 28 мая 2020

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

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

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

1 Ответ

0 голосов
/ 28 мая 2020

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

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

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

conn = pyodb c .connect (r'DRIVER = SQL Сервер; SERVER = 10.60.144.13; UID = BOT_Autoheal; PWD = bot_Aut0h3a1; DATABASE = OO_GlobalAutoHealing; Trusted_Connection = no ')

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...