使用 python3 创建 Windows DSN

Create Windows DSN using python3

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

以下语句在 python2 上运行成功,但在 python3 上运行失败,为什么? ODBCCP32 仅适用于 py2?

ctypes.windll.ODBCCP32.SQLConfigDataSource(0, 4, "Microsoft Access Driver (*.mdb)", 'Uid="Admin"\x00DESCRIPTION="pyscript"\x00DSN="PYTEST"\x00pwd=""\x00DBQ="C:\pytest.mdb"')

它不起作用,因为 python3 中的所有字符串默认都是 unicode 字符串。

所以我不得不将其转换为 'bytes' 对象,如下所示: ctypes.windll.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'))