使用python3创建Windows DSN

使用python3创建Windows DSN,python,database,windows,odbc,Python,Database,Windows,Odbc,是否可以使用python 3在windows中创建ODBC数据源 下面的语句使用python2成功运行,但不使用python3,为什么?ODBCCP32仅在py2中可用 ctypes.windell.ODBCCP32.SQLConfigDataSource(0,4,“Microsoft Access驱动程序(*.mdb)”,'Uid=“Admin”\x00DESCRIPTION=“pyscript”\x00DSN=“PYTEST”\x00pwd=“”\x00DBQ=“C:\\PYTEST.mdb

是否可以使用python 3在windows中创建ODBC数据源

下面的语句使用python2成功运行,但不使用python3,为什么?ODBCCP32仅在py2中可用


ctypes.windell.ODBCCP32.SQLConfigDataSource(0,4,“Microsoft Access驱动程序(*.mdb)”,'Uid=“Admin”\x00DESCRIPTION=“pyscript”\x00DSN=“PYTEST”\x00pwd=“”\x00DBQ=“C:\\PYTEST.mdb”)
由于默认情况下python3中的所有字符串都是unicode字符串,因此无法工作

因此,我必须将其转换为“字节”对象,如下所示:
ctypes.windell.ODBCCP32.SQLConfigDataSource(0,4,bytes('Microsoft Access Driver(*.mdb'),'iso-8859-1'),bytes('Uid=Admin\x00DESCRIPTION=pyscript\x00DSN=PYTEST\x00pwd=\x00DBQ=C:\\PYTEST.mdb','iso-8859-1'))
python3上有什么错误,如果有,它返回0。起初我以为这是因为我安装了64位python并试图创建64位ms access数据源,但我重新安装了32位python 3,数据源仍然无法创建。我似乎找不到这个函数的文档。你有没有办法提供参数的细目?到目前为止,我已经得到了
SQLConfigDataSource(?int,?int,驱动程序字节,参数字节)
。我想问题是,
int
s是什么意思?也许这会有帮助: