64bit的python及32bit的office2010情况下pywin32无法操作access的解决方法
2015-10-16 09:14
721 查看
心血来潮,想试一试python是如何通过pywin32来操作access的,顺便了解一下pywin32的系统配置是win7 64bit,安装的office2010 32bit,python是64bit。mdb是老早的一个废弃数据库。下面是一部分运行代码:
import win32com.client connection = win32com.client.gencache.EnsureDispatch('ADODB.Connection')
DSN = 'PROVIDER = Microsoft.ACE.OLEDB.12.0;DATA SOURCE = G:/DataBase1.mdb;'</span>
connection.Open(DSN)
但是就在connection.Open()这一步就提示error:
com_error: (-2147352567, 'Exception occurred.', (0, u'ADODB.Connection', u'Provider canno t be found. It may not be properly installed.', u'C:\\Windows\\HELP\\ADO270.CHM', 1240655, -21468245 82), None)
或
com_error: (-2147352567, '发生意外。', (0, 'ADODB.Connection', '未找到提供程序。该程序可能未正确安装。', 'C:\\Windows\\HELP\\ADO270.CHM', 1240655, -2146824582), None)
提示说明缺少acces_engine,于是去微软官网上下载AccessDatabaseEngine_X64.exe。但是直接安装会提示:
导致AccessDatabaseEngine_X64.exe不能安装!!解决的方法就是:
运行cmd,然后一路cd到存放AccessDatabaseEngine_X64.exe的文件夹,然后运行 AccessDatabaseEngine_X64.exe /passive。成功搞定:
再次运行python的中相关代码。同样搞定!
不过,还不能高兴!如果此时打开任何一个doc或其他office文档,会提示要重新安装office。解决的方法就是regedit打开注册表,找到HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Office\14.0\Common\FilesPaths,然后删除mso.dll。
相关文章推荐
- 使用python的logging模块(转)
- python脚本前两行
- pyinfo():一个像 phpinfo 一样的 Python 脚本
- Python中基本的日期时间处理的学习教程
- Python中的模块导入和读取键盘输入的方法
- 解读Python编程中的命名空间与作用域
- 详解Python编程中包的概念与管理
- Python编程中的文件操作攻略
- 详解在Python程序中自定义异常的方法
- 详解使用Python处理文件目录的相关方法
- Eclipse + Pydev 配置Python开发环境
- python学习——基础(二)
- <LeetCode><Easy> 198 House Robber
- python正则表达式操作
- Python虚拟环境学习
- Python(六)python变量的解析和字典
- python文件操作之文件打开方式
- 基于python的贪吃蛇
- 图像的二值化之python+opencv
- Python 字符串函数的方法