下面显示的我的 Python 代码是为了使用 Windows 身份验证创建 SQL Server 连接而编写的。我有使用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)
例外:
回溯(最近一次通话最后):
文件“C:\Arelle-master\venv1\lib\site-packages\adodbapi\adodbapi.py”,第 113 行,连接
co.connect(kwargs)File "C:\Arelle-master\venv1\lib\site-packages\adodbapi\adodbapi.py", line 275, in connect
self.connector.Open() # 打开ADO连接文件“”,第 3 行,打开
文件“C:\Arelle-master\venv1\lib\site-packages\win32com\client\dynamic.py”,第 287 行,ApplyTypes
结果 = self. oleobj .InvokeTypes(*(dispid, LCID, wFlags, retType, argTypes) + args)pywintypes.com_error: (-2147352567, 'Exception occurred.', (0, 'Provider', 'Multiple-step OLE DB operation generated errors. 检查每个 OLE DB 状态值,如果可用。没有完成任何工作。', None, 1240640, -2147217887), 无)
在处理上述异常的过程中,又出现了一个异常:
回溯(最近一次通话最后):
文件“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 行,在连接中
引发 api.OperationalError(e, message)adodbapi.apibase.OperationalError: (com_error(-2147352567, 'Exception occurred.', (0, 'Provider', 'Multiple-step OLE DB operation generated errors. 检查每个 OLE DB 状态值,如果可用。没有完成任何工作。 ', None, 1240640, -2147217887), None), '打开与“PROVIDER=MSOLEDBSQL;Data Source=MSSQLSERVER01;Database=TESTDB;Integrated Security = True;”的连接时出错')