Мой код Python, показанный ниже, написан для создания соединения SQL Server с использованием проверки подлинности Windows. У меня есть ограничения на использование библиотеки adodbapi
для подключения к базе данных.
Подскажите, пожалуйста, чего не хватает в этом коде? Я ссылался на документацию библиотеки, но там ничего не упоминается об аутентификации Windows.
Я ссылался на множество статей об этом исключении. Но они, похоже, не помогут понять природу исключения и его разрешение.
Многошаговая операция OLE DB вызвала ошибки. Проверьте каждое значение состояния OLE DB, если оно доступно. Никакой работы не было.
Код:
import configparser
import adodbapi
config = configparser.ConfigParser()
config.read("C:/plugin/configsql.ini")
_SERVER_NAME = config['SQL']['SERVER_NAME']
_DATABASE = config['SQL']['DATABASE']
conn = adodbapi.connect("PROVIDER=MSOLEDBSQL;Data Source={0};Database={1};Integrated Security = True;".format(_SERVER_NAME,_DATABASE))
print(conn)
Исключение:
Traceback (последний последний вызов):
Файл "C:\Arelle-master\venv1\lib\site-packages\adodbapi\adodbapi.py", строка 113, в connect
co.connect(kwargs)Файл "C:\Arelle-master\venv1\lib\site-packages\adodbapi\adodbapi.py", строка 275, в connect
self.connector.Open() # Открытие соединения ADOФайл "", строка 3, в Open
Файл "C:\Arelle-master\venv1\lib\site-packages\win32com\client\dynamic.py", строка 287, в ApplyTypes
result = self.oleobj.InvokeTypes(*(dispid, LCID, wFlags, retType, argTypes) + args)pywintypes.com_error: (-2147352567, 'Исключение произошло.', (0, 'Поставщик', 'Многоэтапная операция OLE DB вызвала ошибки. Проверьте каждое значение состояния OLE DB, если оно доступно. Работа не выполнялась.', Нет, 1240640, -2147217887), нет)
Во время обработки вышеупомянутого исключения произошло другое исключение:
Traceback (последний последний вызов):
Файл "winAuthentication.py", строка 8, в
conn = adodbapi.connect("PROVIDER=MSOLEDBSQL;Data Source={0};Database={1};Integrated Security = True;".format(_SERVER_NAME,_DATABASE ))Файл "C:\Arelle-master\venv1\lib\site-packages\adodbapi\adodbapi.py", строка 117, в connect
поднять api.OperationalError(e, сообщение)adodbapi.apibase.OperationalError: (com_error(-2147352567, 'Произошло исключение.', (0, 'Поставщик', 'Многоэтапная операция OLE DB вызвала ошибки. Проверьте каждое значение состояния OLE DB, если оно доступно. Никакой работы не было выполнено. ', None, 1240640, -2147217887), None), 'Ошибка при открытии соединения с PROVIDER=MSOLEDBSQL;Data Source=MSSQLSERVER01;Database=TESTDB;Integrated Security = True;"')