2024-05-09 22:29:53 发布
网友
我正在使用64位python anaconda v4.4,它运行python v3。我有MS Access 2016 32位版本。我想使用pyodbc让python与Access对话。是否可以使用64位pyodbc与MS Access 2016 32位数据库进行对话?
我已经有许多python应用程序运行在64位python anaconda上。降级到32位python将是一件麻烦的事。
我不是python专家,只是想澄清一些可能的误解。。。Access数据库文件不是32位或64位。32位和64位版本的Access都使用相同的数据库文件格式。
您确实不需要MS Office Access应用程序连接或使用Access数据库文件。您可以下载包含ODBC驱动程序的Access数据库引擎。most recent 2010 version有32位和64位版本。您只需在连接字符串中指定正确的驱动程序即可使用64位驱动程序。同样,这不会直接与Python中的连接对话,但也许您可以使用64位驱动程序让它直接工作。
可以。只需安装
AccessDatabaseEngine_X64.exe /passive
(其中包含x86和x64版本的驱动程序)您就可以了。不要忘记/passive选项,因为如果您这样做,除非您也安装了MS Office 2010,否则不会安装它。您可以从Microsoft Access Database Engine 2010 Redistributable site下载该文件
/passive
安装后,在python shell上运行以下命令,以测试一切正常:
import pyodbc [x for x in pyodbc.drivers() if x.startswith('Microsoft')]
你应该打印出来
['Microsoft Access Driver (*.mdb, *.accdb)', 'Microsoft Excel Driver (*.xls, *.xlsx, *.xlsm, *.xlsb)', 'Microsoft Access dBASE Driver (*.dbf, *.ndx, *.mdx)', 'Microsoft Access Text Driver (*.txt, *.csv)']
不幸的是,您需要32位Python来与32位MS-Access通信。但是,您应该能够在64位Python的同时安装32位版本的Python。假设您使用的是Windows,在自定义安装过程中,您可以选择目标路径。然后使用virtualenv。例如,如果安装到C:\Python36-32:
virtualenv
C:\Python36-32
virtualenv --python=C:\Python36-32\bin\python.exe
祝你好运!
我不是python专家,只是想澄清一些可能的误解。。。Access数据库文件不是32位或64位。32位和64位版本的Access都使用相同的数据库文件格式。
您确实不需要MS Office Access应用程序连接或使用Access数据库文件。您可以下载包含ODBC驱动程序的Access数据库引擎。most recent 2010 version有32位和64位版本。您只需在连接字符串中指定正确的驱动程序即可使用64位驱动程序。同样,这不会直接与Python中的连接对话,但也许您可以使用64位驱动程序让它直接工作。
可以。只需安装
(其中包含x86和x64版本的驱动程序)您就可以了。不要忘记
/passive
选项,因为如果您这样做,除非您也安装了MS Office 2010,否则不会安装它。您可以从Microsoft Access Database Engine 2010 Redistributable site下载该文件安装后,在python shell上运行以下命令,以测试一切正常:
你应该打印出来
不幸的是,您需要32位Python来与32位MS-Access通信。但是,您应该能够在64位Python的同时安装32位版本的Python。假设您使用的是Windows,在自定义安装过程中,您可以选择目标路径。然后使用
virtualenv
。例如,如果安装到C:\Python36-32
:virtualenv --python=C:\Python36-32\bin\python.exe
祝你好运!
相关问题 更多 >
编程相关推荐