[英]Possible for 64bit Python to connect with 32bit MS access driver?
如何在python 64bit中使用32位MS访问驱动程序进行odbc连接? 可以通过改变pypyodbc中的环境句柄或odbc常量,或创建位转换文件来完成吗?
另一个想法(不确定是否可能):有没有办法在代码执行期间切换到32位python.exe(仅当用户想要提取访问数据库时)? 基本上像......
if access api called and struct.calcsize("P") == 8: open python 32bit interpreter and connect to 32bit driver
对所有解决方案开放......谢谢
文章,论坛和SO帖子在这个主题上比比皆是。
简而言之,您无法将(在应用程序级别)64位Python.exe连接到32位MS Access ODBC驱动程序(odbcad32.exe),因为只是数据在类型之间以不同方式存储和处理。 但是,由于具有向后兼容性 ,建议使用最低公分母,因为64位操作系统可以运行32位应用程序,而同级程序可以相互“交谈”。
至于切换模式的动态设置,这可能是一个非常广泛的解决方法,因为32位python.exe和64位python.exe本质上是不同的安装应用程序,其中包如pypyodbc彼此对应。 因此,在安装两个版本之上,您需要使用以下任一脚本编写脚本
struct.calcsize("p")
: struct.calcsize("p")
; 外部应用程序需要根据已安装的ODBC驱动程序选择运行python脚本的版本,将注册表项作为指示符或变量类型大小。 这可能还需要为两个python.exe版本创建路径变量,并确保它们不会相互冲突,选择一个作为默认值 。
许多人选择根据用户的CPU环境部署两个版本的应用程序。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.