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