失眠网,内容丰富有趣,生活中的好帮手!
失眠网 > LINUX通过python连接ACCESS(.mdb和.accdb文件)数据库

LINUX通过python连接ACCESS(.mdb和.accdb文件)数据库

时间:2023-03-04 19:27:44

相关推荐

LINUX通过python连接ACCESS(.mdb和.accdb文件)数据库

前言

因为ACCESS主要还是微软的那一套,所以WIN平台的连接方式不再赘述,网上方案很多。

LINUX上的连接,主要还是分为ODBC和JDBC

ODBC方案

包安装

linux需安装的包:mdbtools, unixODBC, libmdbodbc

python需安装的包:pyodbc或pypyodbc

配置

配置/etc/odbcinst.ini

[MDBToolsODBC]Description = MDB Tools ODBCDriver = /usr/lib/libmdbodbc.so.0Setup =FileUsage =CPTimeout =CPReuse =

配置/etc/odbc.ini 或者 ~/.odbc.ini

[mytest]Description = Microsoft Access Try DBDriver = MDBToolsODBCDatabase = /path/mytest.mdbServername = localhostUsername =Password =port = 5432

DEMO代码

import pyodbcconn = pyodbc.connect('DSN=mytest');cur = conn.cursor()cur.execute('select * from test')cur.fetchall()

JDBC方案

驱动下载

UCanAccess JDBC驱动程序下载

实现方案

有两种方法可以实现:JayDeBeApi和Jython.

JayDeBeApi(推荐)

包安装

pip install JPype1==0.6.3 JayDeBeApi==1.1.1--JPype1的更高版本存在问题,所以安装0.6.3版本

PS:还需要jre环境

DEMO代码如下:

import jaydebeapidb_path = "/path/mytest.mdb"ucanaccess_jars = ["/path/UCanAccess-4.0.4-bin/ucanaccess-4.0.4.jar","/path/UCanAccess-4.0.4-bin/lib/commons-lang-2.6.jar","/path/UCanAccess-4.0.4-bin/lib/commons-logging-1.1.3.jar","/path/UCanAccess-4.0.4-bin/lib/hsqldb.jar","/path/UCanAccess-4.0.4-bin/lib/jackcess-2.1.11.jar",]classpath = ":".join(ucanaccess_jars)conn = jaydebeapi.connect("net.ucanaccess.jdbc.UcanaccessDriver",f"jdbc:ucanaccess://{db_path}",["", ""],classpath)cur = cnxn.cursor()cur.execute("select * from test")cur.fetchall()

Jython

Jython是Python的单独实现,它只支持Python 2.7,目前不再处于活动开发阶段。从某种意义上说执行不是python程序了,而是jython程序,所以这里不进行详细描述。

如果觉得《LINUX通过python连接ACCESS(.mdb和.accdb文件)数据库》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。