Я использую библиотеку adodbapi
для подключения базы данных к SQL Server.
Моя приведенная ниже строка подключения отлично работает с проверкой подлинности SQL Server.
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, при подключенииco.connect(kwargs)
Файл "C:\Program Files (x86)\Python 3.5\lib\site-packages\adodbapi\adodbapi.py", строка 275, при подключении
self.connector.Open() # Открыть соединение ADO
Файл "", строка 3, в Open
Файл "C:\Program Files (x86)\Python 3.5\lib\site-packages\win32com\client\dynamic.py", строка 287, в ApplyTypes< /эм>результат = self.oleobj.InvokeTypes(*(dispid, LCID, wFlags, retType, argTypes) + args)
pywintypes.com_error: (-2147352567, 'Исключение произошло.', (0, 'Драйвер Microsoft OLE DB для SQL Server', 'Ошибка входа в систему. Вход осуществляется из ненадежного домена и не может использоваться со встроенной проверкой подлинности.', Нет, 0, -2147467259), нет)
Во время обработки вышеупомянутого исключения произошло другое исключение:
Обратная трассировка (последний последний вызов):
Файл "Workflow.py", строка 47, в sql_connectionconn = adodbapi.connect("PROVIDER=MSOLEDBSQL;Источник данных={0};База данных={1};Интегрированная безопасность=SSPI;Постоянная информация о безопасности=False".format(_SERVER_NAME,_DATABASE))
Файл "C:\Program Files (x86)\Python 3.5\lib\site-packages\adodbapi\adodbapi.py", строка 117, при подключении
поднять api.OperationalError(e, сообщение)
adodbapi.apibase.OperationalError: (com_error(-2147352567, 'Исключение произошло.', (0, 'Драйвер Microsoft OLE DB для SQL Server', 'Ошибка входа в систему. Вход осуществляется из ненадежного домена и не может использоваться со встроенной проверкой подлинности. ', None, 0, -2147467259), None), 'Ошибка при открытии соединения с "PROVIDER=MSOLEDBSQL;Источник данных=TESTSERVER;База данных=TEST;Integrated Security=SSPI;Persist Security Info=False"')
Пожалуйста, дайте мне знать, как установить соединение с SQL Server с использованием проверки подлинности Windows?