我如何在 python 中使用 pyodbc 连接到本地优势数据库?

How can i connect to local advantage database using pyodbc in python?

据我所知,要使用 pyodbc,您必须

 cnxn = pyodbc.connect('DRIVER={Advantage ODBC Driver};SERVER=local;DataDirectory=\AltaDemo\Demo\AltaPoint.add;DATABASE=AltaPoint;UID=admin;PWD=admin;ServerTypes=1;')
 cursor = cnxn.cursor()

这是我在 运行 时从控制台得到的错误 错误:('IM002', '[IM002] [Microsoft][ODBC 驱动程序管理器] 未找到数据源名称且未指定默认驱动程序 (0) (SQLDriverConnect)')

驱动程序的名称是 Advantage StreamlineSQL ODBC,因此最小连接字符串是:

DRIVER={Advantage StreamlineSQL ODBC};DataDirectory=D:\Temp

其他可选选项是:

DefaultType=Advantage
User ID=xxx
Password=xxx
ServerTypes=2
AdvantageLocking=ON
CharSet=ANSI
Language=ANSI
Description=My ADS connection
Locking=Record
MaxTableCloseCache=25
MemoBlockSize=64
Rows=False
Compression=Internet
CommType=TCP_IP
TLSCertificate=     
TLSCommonName=
TLSCiphers=
DDPassword=Dictionary Password
EncryptionType=
FIPS=False
TrimTrailingSpaces=True
SQLTimeout=600
RightsChecking=OFF    

如果您想使用本地服务器,您必须传递 ServerTypes=1,就像您在原始字符串中已有的那样。

有关更多选项和文档,另请参阅: