1

我正在使用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))

我得到了这个例外:

Traceback(最近一次调用最后一次):
文件“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 行,打开
文件“C:\Program Files (x86)\Python 3.5\lib\site-packages\win32com\client\dynamic.py”,第 287 行,在ApplyTypes

结果=自我。oleobj .InvokeTypes(*(dispid, LCID, wFlags, retType, argTypes) + args)

pywintypes.com_error: (-2147352567, '发生异常。', (0, 'Microsoft OLE DB Driver for SQL Server', '登录失败。登录来自不受信任的域,不能与集成身份验证一起使用。', 无, 0, -2147467259), 无)

在处理上述异常的过程中,又出现了一个异常:

Traceback(最近一次调用最后一次):
文件“Workflow.py”,第 47 行,在 sql_connection

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”,第 117 行,在连接中

raise api.OperationalError(e, message)

adodbapi.apibase.OperationalError: (com_error(-2147352567, '发生异常。', (0, 'Microsoft OLE DB Driver for SQL Server', '登录失败。登录来自不受信任的域,不能与集成身份验证一起使用。 ', None, 0, -2147467259), None), '打开与“PROVIDER=MSOLEDBSQL;Data Source=TESTSERVER;Database=TEST;Integrated Security=SSPI;Persist Security Info=False”的连接时出错')

请任何人都可以让我知道如何使用 Windows 身份验证与 SQL Server 建立连接?

4

0 回答 0