有没有办法从Python访问JET数据库?我在Linux上。我发现的只是存储库中的.mdb查看器,但它非常错误。感谢
答案 0 :(得分:11)
MDB Tools是一组开源库和实用程序,可以在不使用Microsoft DLL的情况下从MS Access数据库(mdb文件)导出数据。因此,非Windows操作系统可以读取数据。或者,换句话说,他们正在对MDB文件的布局进行逆向工程。
Jackcess是一个纯Java库,用于读取和写入MS Access数据库。它是Health Market Science,Inc。的OpenHMS项目的一部分。它不是一个应用程序。没有GUI。它是一个库,供其他开发人员用来构建Java应用程序。
ACCESSdb是一个JavaScript库,用于在Internet Explorer中动态连接和查询本地可用的Microsoft Access数据库文件。
Jackcess和ACCESSdb都比MDB工具新得多,更活跃,并且有写支持。
答案 1 :(得分:4)
安装您的发行版的mdbtools打包版本,使用mdb-export
将Jet数据导出到文本文件,将数据导入SQLite数据库,并且具有几乎可以工作的代码和数据组合你可能会得到的任何计算环境。
答案 2 :(得分:2)
可能是最简单的解决方案:
下载VirtualBox并在其中安装Windows和MS访问。
编写一个小型Python服务器,它使用ODBC访问数据库,并从网络套接字接收命令。
在Linux上,连接到虚拟机中的服务器并以这种方式访问数据库。
这使您可以完全访问所有功能。其他所有解决方案都会限制您可以使用的功能(例如,您将无法修改数据)或非常不安全。
答案 3 :(得分:0)
如果你构建mdb-tools的CVS版本,它的效果相当不错。它解决了我尝试使用与备注字段大小相关的存储库中的问题的许多问题。 mdb-tools基本上是一个死的项目,但人们仍然偶尔为CVS贡献代码。我认为Ubuntu的构建是从2004年开始的。
CVS说明:
http://sourceforge.net/scm/?type=cvs&group_id=2294
如果使用Ubuntu,在下载源之前,您需要启用源存储库并执行:
apt-get build-dep mdbtools
这将获得从CVS手动构建源所需的所需包。