对Python通过pypyodbc访问Access数据库的方法详解


Posted in Python onOctober 27, 2018

看书上通过ODBC访问数据库的案例,想实践一下在Python 3.6.1中实现access2003数据库的链接,但是在导入odbc模块的时候出现了问题,后来查了一些资料就尝试着使用pypyodbc,最后成功了。

操作步骤:

①安装pypyodbc

目前Python安装通常使用steup.py或者pip工具,在python3.4之后的的版本都默认包含了pip,因此,这里推荐使用pip工具。在cmd中执行:pip install pypyodbc,耐心等待执行完成,pypyodbc模块就已经安装成功了。如果提示安装超时或者失败可以重新再执行一次。执行成功后,查看C:\Python36\Lib\site-packages中就会发现多了pypyodbc的目录。这时候就可以使用pypyodbc模块了。

②创建数据源

先利用Access创建一个数据库,我是在D盘中创建了一个名称为addresses.mdb的数据库文件。然后在“控制面板”中找到“管理工具”,打开其中的“数据源(ODBC)”,选择“添加”,并选择“Microsoft Access Driver(*.mdb,*.accdb)”,点击完成。然后输入数据源名“addresses”,并点击“选择”找到在D盘创建的数据库。这样就将数据源创建完成。

对Python通过pypyodbc访问Access数据库的方法详解

对Python通过pypyodbc访问Access数据库的方法详解

对Python通过pypyodbc访问Access数据库的方法详解

对Python通过pypyodbc访问Access数据库的方法详解

③代码部分

import pypyodbc
str = 'Driver={Microsoft Access Driver (*.mdb,*.accdb)};DBQ=D:\\addresses.mdb'
db=pypyodbc.win_connect_mdb(str)     # 打开数据库连接
curser = db.cursor()         # 产生cursor游标
curser.execute("select * from address order by id desc")
for col in curser.description:       # 显示行描述
 print (col[0], col[1])
result = curser.fetchall()
for row in result:          # 输出各字段的值
 print (row)
 print (row[1], row[2])
 timeTuple = time.localtime(row[3])
 print (time.strftime('%Y/%m/%d', timeTuple))

注意事项:

①如果过程中出现下图的情况,注意检查创建数据源过程中的驱动与代码中的Microsoft Access Driver (*.mdb,*.accdb)是否一致。

对Python通过pypyodbc访问Access数据库的方法详解

②注意这里使用的是pypyodbc.win_connect_mdb,如果使用pypyodbc.connect同样会出现:

对Python通过pypyodbc访问Access数据库的方法详解

③如果出现下图的情况,可能是文件已加密,只需要在DBQ前面加上:PWD=YourPWD(文件的密码)

对Python通过pypyodbc访问Access数据库的方法详解

以上这篇对Python通过pypyodbc访问Access数据库的方法详解就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
python实现批量转换文件编码(批转换编码示例)
Jan 23 Python
python对数组进行反转的方法
May 20 Python
星球大战与Python之间的那些事
Jan 07 Python
python中zip()方法应用实例分析
Apr 16 Python
Python中struct模块对字节流/二进制流的操作教程
Jan 21 Python
详解python基础之while循环及if判断
Aug 24 Python
python中abs&map&reduce简介
Feb 20 Python
Random 在 Python 中的使用方法
Aug 09 Python
使用 Python 实现简单的 switch/case 语句的方法
Sep 17 Python
使用python os模块复制文件到指定文件夹的方法
Aug 22 Python
python 根据网易云歌曲的ID 直接下载歌曲的实例
Aug 24 Python
tensorflow 实现数据类型转换
Feb 17 Python
Python/ArcPy遍历指定目录中的MDB文件方法
Oct 27 #Python
用Python实现筛选文件脚本的方法
Oct 27 #Python
基于python指定包的安装路径方法
Oct 27 #Python
Python 新建文件夹与复制文件夹内所有内容的方法
Oct 27 #Python
Python利用递归实现文件的复制方法
Oct 27 #Python
python实现本地图片转存并重命名的示例代码
Oct 27 #Python
python将.ppm格式图片转换成.jpg格式文件的方法
Oct 27 #Python
You might like
如何过滤高亮显示非法字符
2006/10/09 PHP
php与XML、XSLT、Mysql的结合运用实现代码
2009/11/19 PHP
CodeIgniter实现从网站抓取图片并自动下载到文件夹里的方法
2015/06/17 PHP
Laravel中注册Facades的步骤详解
2016/03/16 PHP
使用PHPStorm+XDebug搭建单步调试环境
2017/11/19 PHP
建立良好体验度的Web注册系统ajax
2007/07/09 Javascript
javascript 操作文件 实现方法小结
2009/07/02 Javascript
Javascript Object.extend
2010/05/18 Javascript
jquery拖动插件(jquery.drag)使用介绍
2013/06/18 Javascript
Document:getElementsByName()使用方法及示例
2013/10/28 Javascript
一个JavaScript处理textarea中的字符成每一行实例
2014/09/22 Javascript
js用拖动滑块来控制图片大小的方法
2015/02/27 Javascript
详细分析JavaScript变量类型
2015/07/08 Javascript
JS 实现倒计时数字时钟效果【附实例代码】
2016/03/30 Javascript
基于Bootstrap实现tab标签切换效果
2020/04/15 Javascript
第一次动手实现bootstrap table分页效果
2016/09/22 Javascript
js实现前端分页页码管理
2017/01/06 Javascript
深入解析Vue 组件命名那些事
2017/07/18 Javascript
详解webpack4升级指南以及从webpack3.x迁移
2018/06/12 Javascript
javascript事件监听与事件委托实例详解
2019/08/16 Javascript
vue配置多代理服务接口地址操作
2020/09/08 Javascript
[01:03:27]NAVI vs EG 2019国际邀请赛小组赛 BO2 第一场 8.15
2019/08/17 DOTA
使用python绘制人人网好友关系图示例
2014/04/01 Python
Python数据分析matplotlib设置多个子图的间距方法
2018/08/03 Python
Python连接Redis的基本配置方法
2018/09/13 Python
浅谈Python批处理文件夹中的txt文件
2019/03/11 Python
PyQt5 加载图片和文本文件的实例
2019/06/14 Python
使用python画社交网络图实例代码
2019/07/10 Python
python和php学习哪个更有发展
2020/06/17 Python
Pandas之缺失数据的实现
2021/01/06 Python
Europcar澳大利亚官网:全球汽车租赁领域的领导者
2019/03/24 全球购物
给水排水工程专业毕业生推荐信
2013/10/28 职场文书
服务承诺书怎么写
2014/05/24 职场文书
支部组织生活会方案
2014/06/10 职场文书
防灾减灾标语
2014/10/07 职场文书
2021-4-3课程——SQL Server查询【2】
2021/04/05 SQL Server