Установите SQL соединение с базой данных сервера, используя python с windows аутентификацией - PullRequest
1 голос
/ 24 января 2020

Я использую библиотеку adodbapi для подключения базы данных к SQL Серверу.

Моя строка подключения ниже прекрасно работает с SQL Проверка подлинности сервера-

config = configparser.ConfigParser()
config.read("C:/configsql.ini")
_SERVER_NAME = config['SQL']['SERVER_NAME']
_DATABASE = config['SQL']['DATABASE']
_USERNAME = config['SQL']['USERNAME']
_PASSWORD = config['SQL']['PASSWORD']
conn = adodbapi.connect("PROVIDER=MSOLEDBSQL;Data Source={0};Database={1};UID={2};PWD={3};".format(_SERVER_NAME,_DATABASE,_USERNAME,_PASSWORD))
return conn

Когда я пытаюсь выполнить подключение с использованием windows проверки подлинности, оно не работает.

Я изменил строку подключения, как показано ниже:

conn = adodbapi.connect("PROVIDER=MSOLEDBSQL;Data Source={0};Database={1};Integrated Security=SSPI;Persist Security Info=False".format(_SERVER_NAME,_DATABASE))

и получаю следующее исключение:

Трассировка (последний вызов был последним):
Файл "C: \ Program Files (x86) \ Python 3.5 \ lib \ site-packages \ adodbapi \ adodbapi.py ", строка 113, в connect

co.connect (kwargs)

File" C: \ Program Files (x86) \ Python 3.5 \ lib \ site-packages \ adodbapi \ adodbapi.py ", строка 275, в connect

self.connector.Open () # Откройте ADO соединение

Файл "", строка 3, в Открытом
Файл "C: \ Program Files (x86) \ Python 3.5 \ lib \ site-packages \ win32com \ client \ dynamici c .py ", строка 287, в ApplyTypes

result = self. oleobj .InvokeTypes (* (dispid, LCID, wFlags, retType, argTypes) + args)

pywintypes.com_error: (-214735256 7, «Возникло исключение.», (0, «Драйвер Microsoft OLE DB для SQL Сервер», «Ошибка входа в систему. Имя входа из ненадежного домена и не может использоваться со встроенной аутентификацией. ', Нет, 0, -2147467259), Нет)

Во время обработки вышеуказанного исключения произошло другое исключение:

Трассировка (последний вызов был последним):
Файл "Workflow.py", строка 47, в sql_connection

conn = adodbapi.connect ("PROVIDER = MSOLEDBSQL; Источник данных = {0}; База данных = { 1}; Integrated Security = SSPI; Persist Security Info = False ".format (_SERVER_NAME, _DATABASE))

Файл" C: \ Program Files (x86) \ Python 3.5 \ lib \ site- пакеты \ adodbapi \ adodbapi.py ", строка 117, в соединении

поднять api.OperationalError (e, сообщение)

adodbapi.apibase.OperationalError: (com_error (-2147352567, 'возникла исключительная ситуация) . ', (0, «Драйвер Microsoft OLE DB для SQL Server», «Ошибка входа в систему. Вход в систему из ненадежного домена и не может использоваться со встроенной аутентификацией.», Нет, 0, -2147467259), Нет), «Ошибка открытия соединения с« PROVIDER = MSOLEDBSQL; Источник данных = TESTSERVER; Данные base = TEST; Integrated Security = SSPI; Persist Security Info = False "')

Может кто-нибудь сообщить мне, как установить соединение с SQL Сервером с использованием Windows аутентификации?

...