对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计算一个序列的平均值的方法
Jul 11 Python
Python 快速实现CLI 应用程序的脚手架
Dec 05 Python
python的re正则表达式实例代码
Jan 24 Python
python版本的仿windows计划任务工具
Apr 30 Python
使用Anaconda3建立虚拟独立的python2.7环境方法
Jun 11 Python
python如何爬取个性签名
Jun 19 Python
我喜欢你 抖音表白程序python版
Apr 07 Python
Python3.5内置模块之time与datetime模块用法实例分析
Apr 27 Python
Python获取时间范围内日期列表和周列表的函数
Aug 05 Python
Python bisect模块原理及常见实例
Jun 17 Python
一文弄懂Pytorch的DataLoader, DataSet, Sampler之间的关系
Jul 03 Python
python基于opencv批量生成验证码的示例
Apr 28 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
PHP常用特殊运算符号和函数总结(php新手入门必看)
2013/02/02 PHP
thinkPHP分页功能实例详解
2017/05/05 PHP
PHP实现字符串翻转功能的方法【递归与循环算法】
2017/11/03 PHP
PHP中PDO事务处理操作示例
2018/05/02 PHP
PHP7使用ODBC连接SQL Server2008 R2数据库示例【基于thinkPHP5.1框架】
2019/05/06 PHP
基于jquery的代码显示区域自动拉长效果
2011/12/07 Javascript
自动最大化窗口的Javascript代码
2013/05/22 Javascript
Javascript中的高阶函数介绍
2015/03/15 Javascript
javascript格式化json显示实例分析
2015/04/21 Javascript
javascript单例模式的简单实现方法
2015/07/25 Javascript
AngularJS 与Bootstrap实现表格分页实例代码
2016/10/14 Javascript
jQuery实现点击某个div打开层,点击其他div关闭层实例分析(阻止冒泡)
2016/11/18 Javascript
详解vue.js移动端导航navigationbar的封装
2017/07/05 Javascript
JS路由跳转的简单实现代码
2017/09/21 Javascript
React通过父组件传递类名给子组件的实现方法
2017/11/13 Javascript
当vue路由变化时,改变导航栏的样式方法
2018/08/22 Javascript
angular6根据environments配置文件更改开发所需要的环境的方法
2019/03/06 Javascript
vue eslint简要配置教程详解
2019/07/26 Javascript
vue中实现弹出层动画效果的示例代码
2020/09/25 Javascript
Python的Django框架中的select_related函数对QuerySet 查询的优化
2015/04/01 Python
python代码 if not x: 和 if x is not None: 和 if not x is None:使用介绍
2016/09/21 Python
Python实现手写一个类似django的web框架示例
2018/07/20 Python
Python 的AES加密与解密实现
2019/07/09 Python
python 实现快速生成连续、随机字母列表
2019/11/28 Python
简单了解python字符串前面加r,u的含义
2019/12/26 Python
Django使用Celery加redis执行异步任务的实例内容
2020/02/20 Python
基于python和flask实现http接口过程解析
2020/06/15 Python
墨西哥网上购物:Linio墨西哥
2016/10/20 全球购物
写一个函数返回1+2+3+…+n的值(假定结果不会超过长整型变量的范围)
2014/09/05 面试题
四年的个人工作自我评价
2013/12/10 职场文书
精神文明建设汇报材料
2014/12/24 职场文书
中班教师个人总结
2015/02/05 职场文书
导游词范文
2015/02/13 职场文书
小学三年级班主任工作经验交流材料
2015/11/02 职场文书
旅游安全责任协议书
2016/03/22 职场文书
2019暑假阅读倡议书
2019/06/24 职场文书