gpt4 book ai didi

python - 64位Python可以连接32位MS访问驱动程序吗?

转载 作者:行者123 更新时间:2023-12-01 21:23:19 35 4
gpt4 key购买 nike

如何在 python 64 位中使用 32 位 MS 访问驱动程序进行 odbc 连接?可以通过更改 pypyodbc 中的环境句柄或 odbc 常量,或者创建位转换文件来完成吗?
另一个想法(不确定是否可能):有没有办法在代码执行期间切换到 32 位 python.exe(仅当用户想要拉取访问数据库时)?本质上类似于...

如果调用了访问 api 并且 struct.calcsize("P") == 8:
打开python 32位解释器并连接到32位驱动程序

接受所有解决方案...谢谢

最佳答案

文章、论坛和SO Posts关于这个话题的内容比比皆是。

简而言之,您无法(在应用程序级别)将 64 位 Python.exe 连接到 32 位 MS Access ODBC 驱动程序 (odbcad32.exe),因为不同类型之间的数据存储和处理方式不同。然而与 backwards compatibility ,建议以最低公分母工作,因为 64 位操作系统可以运行 32 位应用程序,并且相同级别的程序可以相互“对话”。

对于切换模式的动态设置,这可能是一个非常广泛的解决方法,因为 32 位 python.exe 和 64 位 python.exe 本质上是不同的已安装应用程序,其中 pypyodbc 等软件包彼此对应。因此,在安装两个版本之前,您需要使用以下任一脚本:

  1. 一个 python 版本自行退出并使用 platform or variable length calculation 调用其他版本正如您提到的:struct.calcsize("p");
  2. 在命令行(例如 shell 脚本、批处理文件);
  3. 通过外部程序(例如 Excel/Access VBA、Java、C#、php.exe);

外部应用程序需要根据已安装的 ODBC 驱动程序选择运行 python 脚本的版本,将注册表项视为指示符或变量类型大小。这可能还需要创建两个 python.exe 版本的路径变量,并确保它们不会相互冲突,选择一个作为 default .

许多人选择根据用户的 CPU 环境部署两个版本的应用程序。

关于python - 64位Python可以连接32位MS访问驱动程序吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30686550/

35 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com