Python通过pypyodbc访问Access数据库
2017-06-13 11:18
375 查看
看书上通过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盘创建的数据库。这样就将数据源创建完成。
③代码部分
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)是否一致。
②注意这里使用的是pypyodbc.win_connect_mdb,如果使用pypyodbc.connect同样会出现:
③如果出现下图的情况,可能是文件已加密,只需要在DBQ前面加上:PWD=YourPWD(文件的密码)
操作步骤:
①安装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盘创建的数据库。这样就将数据源创建完成。
③代码部分
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)是否一致。
②注意这里使用的是pypyodbc.win_connect_mdb,如果使用pypyodbc.connect同样会出现:
③如果出现下图的情况,可能是文件已加密,只需要在DBQ前面加上:PWD=YourPWD(文件的密码)
相关文章推荐
- 对Python通过pypyodbc访问Access数据库的方法详解
- 在Python中分别通过pypyodbc和cx_Oracle来访问数据库
- VB通过DAO访问Access数据库
- python通过URL获得的网络文件可否当做普通的文件来进行访问
- 在用Kivy开发Python手机游戏时通过Plyer扩展访问Android传感器
- python实现通过代理服务器访问远程url的方法
- python实现通过代理服务器访问远程url的方法
- Windows下使用Python通过ODBC/ADO访问数据库
- 通过Python处理Android API Doc离线访问
- Python访问Access数据库
- Python直接访问Postgresql,实践通过
- 在Linux中通过Python脚本访问mdb数据库的方法
- ACTIVEFORM+WebService+ACCESS,Web客户端通过WebService访问Access数据库
- Python 通过代理访问网络
- python 通过adodb访问sql server数据库
- [python]通过urllib2设置代理访问网址
- 使用C++通过ADO访问access数据库的一点问题
- 通过三层结构模型远程访问ACCESS数据库
- 通过三层结构模型远程访问ACCESS数据库
- Python通过thrift访问hadoop:报错java.lang.IllegalArgumentException: Wrong FS: hdfs:/ expected file:///