对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下调用pytesseract识别某网站验证码的实现方法
Jun 06 Python
Python探索之ModelForm代码详解
Oct 26 Python
Python安装图文教程 Pycharm安装教程
Mar 27 Python
python实现石头剪刀布程序
Jan 20 Python
Python读入mnist二进制图像文件并显示实例
Apr 24 Python
python如何解析复杂sql,实现数据库和表的提取的实例剖析
May 15 Python
pygame用blit()实现动画效果的示例代码
May 28 Python
python Selenium 库的使用技巧
Oct 16 Python
Python操作word文档插入图片和表格的实例演示
Oct 25 Python
Python requests库参数提交的注意事项总结
Mar 29 Python
Python Parser的用法
May 12 Python
Sentry的安装、配置、使用教程(Sentry日志手机系统)
Jul 23 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数组对百万数据进行排除重复数据的实现代码
2010/06/08 PHP
destoon实现商铺管理主页设置增加新菜单的方法
2014/06/26 PHP
php中通过DirectoryIterator删除整个目录的方法
2015/03/13 PHP
php array_udiff_assoc 计算两个数组的差集实例
2016/11/12 PHP
Javascript typeof 用法
2008/12/28 Javascript
javascript 获取图片颜色
2009/04/05 Javascript
javascript小组件 原生table排序表格脚本(兼容ie firefox opera chrome)
2012/07/25 Javascript
js修改table中Td的值(定义td的单击事件)
2013/01/10 Javascript
按下Enter焦点移至下一个控件的实现js代码
2013/12/11 Javascript
JQuery中使用Ajax赋值给全局变量异常的解决方法
2014/01/10 Javascript
红米手机抢购的js代码
2014/03/10 Javascript
js中精确计算加法和减法示例
2014/03/28 Javascript
jquery Validation表单验证使用详解
2020/09/12 Javascript
使用AOP改善javascript代码
2015/05/01 Javascript
学习使用grunt来打包JavaScript和CSS程序的教程
2016/01/04 Javascript
详解JavaScript树结构
2017/01/09 Javascript
node.js实现复制文本到剪切板的功能
2017/01/23 Javascript
微信小程序实现倒计时60s获取验证码
2020/04/17 Javascript
详解vue填坑之解决部分浏览器不支持pushState方法
2018/07/12 Javascript
原生js封装的ajax方法示例
2018/08/02 Javascript
vue响应式更新机制及不使用框架实现简单的数据双向绑定问题
2019/06/27 Javascript
微信小程序基础教程之worker线程的使用方法
2019/07/15 Javascript
js模拟实现烟花特效
2020/03/10 Javascript
实现一个Vue自定义指令懒加载的方法示例
2020/06/04 Javascript
Python+django实现文件上传
2016/01/17 Python
python 3利用BeautifulSoup抓取div标签的方法示例
2017/05/28 Python
django url到views参数传递的实例
2019/07/19 Python
Python 基于jwt实现认证机制流程解析
2020/06/22 Python
CHARLES & KEITH台湾官网:新加坡时尚品牌
2019/07/30 全球购物
实现向右循环移位
2014/07/31 面试题
科室工作个人总结的自我评价
2013/10/29 职场文书
日语专业毕业生求职信
2013/12/04 职场文书
致标枪运动员广播稿
2014/02/06 职场文书
廉洁自律演讲稿
2014/05/22 职场文书
2015年纪委工作总结
2015/05/13 职场文书
详解PHP用mb_string处理windows中文字符
2021/05/26 PHP