Python连接Access数据库
前言
今天想要用Python访问Access数据库,折腾了半天,特记录一下
背景
最近想将一些文件记录下来,存入数据库,为此拿LabVIEW写了一个版本,记录环境配置为: 
LabVIWE:2015 
Access:2016 
驱动连接字符串:
Provider=Microsoft.Jet.OLEDB.4.0;Data Source=%s;Jet OLEDB:Database Password=;Persist Security Info=False

虽然用LabVIEW已经实现功能,但觉得还是太笨重了,所以打算用Python再实现一遍。
数据库连接
数据库连接网上大致有两种方法,一种是使用pyodbc,另一种是使用win32com.client,测试了很多遍,最终只有pyodbc成功,而且比较好用,所以这里只介绍这种方法
环境安装
由于LabVIEW已经完成实现,所以环境主要是Python 2.7 和 Access 2016
为了加载需要的库,python 2.7 安装了Pip工具
工具库安装
在此基础上安装pyodbc工具库,在cmd窗口执行如下语句安装
pip install pyodbc

程序实现
import pyodbc  
DBfile = r"test.mdb"  # 数据库文件
conn = pyodbc.connect(r"Driver={Driver do Microsoft Access (*.mdb)};DBQ=" + DBfile + ";Uid=;Pwd=;")  
cursor = conn.cursor()
SQL = "SELECT * from MFRProcess;"
for row in cursor.execute(SQL):
    print row
cursor.close()
conn.close() 
import pyodbc  
DBfile = r"test.mdb"  # 数据库文件
conn = pyodbc.connect(r"Driver={Driver do Microsoft Access (*.mdb)};DBQ=" + DBfile + ";Uid=;Pwd=;")  
cursor = conn.cursor()
SQL = "SELECT * from MFRProcess;"
for row in cursor.execute(SQL):
    print row
cursor.close()
conn.close() 
需要注意的是,Driver的内容需要根据自己的环境驱动变化,一开始我认为和LabVIEW一致,后来发现需要根据自己的驱动环境来设置。

Python连接Access数据库的更多相关文章
- Python连接Access数据库遇到问题'ADODB.Connection', '未找到提供程序。该程序可能未正确安装。'的处理办法
		
环境Windows7+python3.6.4 x64位+AccessDatabaseEngine_X64.exe,执行代码: import win32com.client conn = win32co ...
 - 【.net 深呼吸】连接Access数据库应注意的几点
		
本地数据库可以有Y种选择,比如Sqlite.SQL Server Express.SQL Local DB.SQL Server CE.Access等,本文老周选用比较著名的Access本地数据库,在 ...
 - C#连接Access数据库(详解)
		
做一个用VS2012的C#连接Access数据库的备忘, SQL数据库固然强大,有大微软的强力技术支持,LINQ的方便操作,但是如果写一个小程序对数据库方面没有什么大的要求的话,将来在数据库方面就可以 ...
 - ASP.net分别连接SQLserver数据库与连接Access数据库精英版
		
-------------------------连接access2003 字符串------------------------- Provider=Microsoft.Jet.OLEDB.4.0; ...
 - paip. 解决php 以及 python 连接access无效的参数量。参数不足,期待是 1”的错误
		
paip. 解决php 以及 python 连接access无效的参数量.参数不足,期待是 1"的错误 作者Attilax 艾龙, EMAIL:1466519819@qq.com 来源 ...
 - php连接Access数据库错误及解决方法
		
<?php $connstr="DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" . realpath("data.m ...
 - php连接Access数据库的三种方法
		
http://www.php100.com/html/webkaifa/PHP/PHPyingyong/2009/1115/3524.html 虽然不是一个类但先放这儿吧 最近想把一个asp的网站改成 ...
 - 三种php连接access数据库方法
		
种是利用php的pdo,一种是odbc,com接口来与access数据库连接.利用pdo与access数据库连接 $path ="f:fontwww.jb51.netspiderresult ...
 - 具体解释VB中连接access数据库的几种方法
		
在VB中,连接ACCESS数据库的方法主要有以下三种 使用ADO对象,通过编写代码訪问数据库 Connection 对象 ODBC数据源 使用ADO Data 控件高速创建数据库连接 有三种连接方法 ...
 
随机推荐
- C++解析(28):异常处理
			
0.目录 1.C语言异常处理 2.C++中的异常处理 3.小结 1.C语言异常处理 异常的概念: 程序在运行过程中可能产生异常 异常(Exception)与 Bug 的区别 异常是程序运行时可预料的执 ...
 - P2891 [USACO07OPEN]吃饭Dining(最大流+拆点)
			
题目描述 Cows are such finicky eaters. Each cow has a preference for certain foods and drinks, and she w ...
 - 【刷题】洛谷 P3808 【模板】AC自动机(简单版)
			
题目背景 这是一道简单的AC自动机模板题. 用于检测正确性以及算法常数. 为了防止卡OJ,在保证正确的基础上只有两组数据,请不要恶意提交. 管理员提示:本题数据内有重复的单词,且重复单词应该计算多次, ...
 - 洛谷 P3338 [ZJOI2014]力 解题报告
			
P3338 [ZJOI2014]力 题目描述 给出n个数qi,给出Fj的定义如下: \(F_j = \sum_{i<j}\frac{q_i q_j}{(i-j)^2 }-\sum_{i>j ...
 - WebLogic XMLDecoder反序列化漏洞(CVE-2017-10271)复现
			
WebLogic XMLDecoder反序列化漏洞(CVE-2017-10271) -----by ba ...
 - POJ.2251 Dungeon Master (三维BFS)
			
POJ.2251 Dungeon Master (三维BFS) 题意分析 你被困在一个3D地牢中且继续寻找最短路径逃生.地牢由立方体单位构成,立方体中不定会充满岩石.向上下前后左右移动一个单位需要一分 ...
 - c++多态性详解(转)
			
什么是多态? 多态一词最初来源于希腊语,意思是具有多种形式或形态的情形,当然这只是字面意思,它在C++语言中多态有着更广泛的含义. 这要先从对象的类型说起!对象的类型有两种: 实例:Derived1类 ...
 - Virtual Box虚拟机下CentOS网络设置
			
VirtualBox中有4中网络连接方式: a. NAT 网络地址转换模式(Network Address Translation)b. Bridge ...
 - 【题解】【LibreOJ Beta Round #5】游戏 LOJ 531 基环树 博弈论
			
Prelude 题目链接:萌萌哒传送门♪(^∇^*) Subtask 1 & 2 这是什么鬼题面... 首先要看出,这就是一个基环树博弈. 具体题意:给出一个基环内向树,一个棋子初始在\(1\ ...
 - DINSTINCT
			
DISTINCT是对结果集进行去重,有三点需要注意. 1.在大多数情况下(两者后面所跟的字段相同时),DISTINCT跟group by是等效的,此时DISTINCT可以看作group by的一个特例 ...