64位系统如何用python连接32位office

2019-06-13  本文已影响0人  Josephx

如果系统是64位(win10)而office是32位,在链接如下代码时候,会出现错误,需要安装64位的驱动程序

import pypyodbc
def mdb_conn(db_name, password = ""):    
  str = 'Driver={Microsoft Access Driver (*.mdb)};PWD' + password + ";DBQ=" + db_name
  conn = pypyodbc.win_connect_mdb(str)
return conn
mdb_conn(r"C:\Users\josephxie\Documents\VBA互学互传\练习\test.mdb")

这时候就需要从官网下载64位驱动程序
AccessDatabaseEngine_X64.exe

安装时候会提示不能安装64位,因为32位已经安装过了,解决办法如下:

  1. 运行cmd,然后一路cd到存放AccessDatabaseEngine_X64.exe的文件夹,然后运行 AccessDatabaseEngine_X64.exe /passive
  2. regedit打开注册表,找到HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Office\14.0\Common\FilesPaths,然后删除mso.dll

如果不执行这一步会提示重新安装office

另外附pyodbc的代码

import pyodbc  
DBfile = r"C:\Users\josephxie\Documents\VBA互学互传\练习\test.mdb" 
conn = pyodbc.connect(r"Driver={Microsoft Access Driver (*.mdb, *.accdb)};DBQ=" + DBfile + ";Uid=;Pwd=;charset='utf-8';") 
上一篇 下一篇

猜你喜欢

热点阅读