64 位 pyodbc 是否可以与 32 位 MS 访问数据库通信?
Is it possible for 64-bit pyodbc to talk to 32-bit MS access database?
我正在使用运行 python v3 的 64 位 python anaconda v4.4。我有 MS Access 2016 32 位版本。我想使用 pyodbc 让 python 与 Access 对话。是否可以使用 64 位 pyodbc 与 MS Access 2016 32 位数据库通信?
我已经有许多 python 应用程序 运行 64 位 python anaconda。降级到 32 位将是一件苦差事 python.
不幸的是,您需要 32 位 Python 才能与 32 位 MS Access 通信。但是,您应该能够在安装 64 位 Python 的同时安装 32 位版本的 Python。假设您使用的是 Windows,在自定义安装期间您可以选择目标路径。然后用一个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 位驱动程序使其直接工作。
是的,你可以:
只需安装
AccessDatabaseEngine_X64.exe /passive
(其中包含 x86 和 x64 版本的驱动程序),你会没事的。不要忘记 /passive
选项,因为如果你这样做,除非你也安装了 MS Office 2010,否则它不会安装。您可以从 Microsoft Access Database Engine 2010 Redistributable site
下载文件
安装 AccessDatabaseEngine_X64.exe
后,您应该 运行 在 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)']
保重。
我正在使用运行 python v3 的 64 位 python anaconda v4.4。我有 MS Access 2016 32 位版本。我想使用 pyodbc 让 python 与 Access 对话。是否可以使用 64 位 pyodbc 与 MS Access 2016 32 位数据库通信?
我已经有许多 python 应用程序 运行 64 位 python anaconda。降级到 32 位将是一件苦差事 python.
不幸的是,您需要 32 位 Python 才能与 32 位 MS Access 通信。但是,您应该能够在安装 64 位 Python 的同时安装 32 位版本的 Python。假设您使用的是 Windows,在自定义安装期间您可以选择目标路径。然后用一个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 位驱动程序使其直接工作。
是的,你可以:
只需安装
AccessDatabaseEngine_X64.exe /passive
(其中包含 x86 和 x64 版本的驱动程序),你会没事的。不要忘记 /passive
选项,因为如果你这样做,除非你也安装了 MS Office 2010,否则它不会安装。您可以从 Microsoft Access Database Engine 2010 Redistributable site
安装 AccessDatabaseEngine_X64.exe
后,您应该 运行 在 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)']
保重。