启明办公

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 94|回复: 0

python操作access数据库环境配置

[复制链接]

3

主题

5

帖子

10

积分

新手上路

Rank: 1

积分
10
发表于 2022-12-24 19:00:53 | 显示全部楼层 |阅读模式
有一个项目,需要用到python访问access数据库功能,遇到了很多坑,记录下来供大家参考。

1.先安装python的odbc包,打开cmd命令,再运行“pip install pyodbc”我的电脑提示之前就已经安装好了。


2.安装Microsoft Access Database Engine 2016 Redistributable 的驱动,我的电脑office是2019版本,下载了最新的2016版的access,但是不论是32位,还是64位的都提示安装不了。



3.于是转向下载2010版本的,64位的提示安装不了,换32位的,终于安装成功了。
运行程度,结果发现还是报错,提示没有配置数据库,报错信息如下:
  conn = pyodbc.connect(r"Driver={Microsoft access Driver (*.mdb, *.accdb)};DBQ=" + DBfile + ";Uid=;Pwd=;")
发生异常: InterfaceError
('IM002', '[IM002] [Microsoft][ODBC 驱动程序管理器] 未发现数据源名称并且未指定默认驱动程序 (0) (SQLDriverConnect)')

4.我以为是数据库没配置好,就按以下教程配置了数据库。
https://blog.csdn.net/weixin_43829604/article/details/112983929


结果报错的代码还是一样。
上网找了不少教程,说可能是驱动安装的问题。于是照着教程,运行了以下代码,发现输出结果为空,初步判断是驱动没有安装好的问题。
import pyodbc
[x for x in pyodbc.drivers() if x.startswith('Microsoft Access Driver')]
我又上网进一步查了下资料,说这类错误可能是安装的office的位数与系统的位数不一致导致的,所以驱动识别不了。
https://blog.csdn.net/qq_34391511/article/details/107644722

5.最后,没其他办法了,只能选择重装office 2016,我的电脑是64位的,就安装64位的office。
结果又遇到了新问题。。。。。。
可能是office没有卸载干净,提示我安装不了64位office。  


6.于是又找了很多资料,尝试了很多方法,还是没解决,包括重启电脑、下载OfficeRegClean程序清理注册表,都不起作用。
http://www.yishimei.cn/network/378.html

7.后面在知乎里找到一篇文章,先是下载了SetupProd_OffScrub.exe,结果提示网络连接失败,用不了。
https://zhuanlan.zhihu.com/p/100756078
然后又用了旧版的工具,Office Tool Plus,终于解决了。


8.重装office后,代码终于成功运行了。


9.注意事项:
1.安装2016版的access。
2.安装与电脑的位数对应的版本,电脑操作系统是64位,那么acccess也要安装64位的,否则驱动会找不到。
3.下载驱动,配置好数据库。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|天恒办公

Copyright © 2001-2013 Comsenz Inc.Template by Comsenz Inc.All Rights Reserved.

Powered by Discuz!X3.4

快速回复 返回顶部 返回列表