从MS Access移植

我最近被给了一个MS Access .mdb数据库文件,并要求在Linux系统中使用它。 我正在寻找的是一种将Access数据库转换为开源数据库(如MySQL或PostGres)的方法。

我没有MS Office,这是一个志愿者组织的一次性项目,所以我不想花钱,如果这是可以避免的。 我运行Vista 64位,并有一个Linux的虚拟箱,所以在任何一个可用的东西将是好的。

我使用MySQL Migration Toolkit ,对于表格,它甚至可以创建一个可重用的脚本。 它是免费的,使用简单。

这个工具包现在是EOL,而MySQL Workbench 5.2取代了它。

不幸的是,当我在我的系统上使用MS Access进行尝试时,它遇到了“一个问题导致程序无法正常工作”。 当然,最后一步。 (2013年1月16日)

幸运的是,您不需要MS Access就可以从Access数据库中获取数据。 虽然有像MDBTools这样的工具可以读取Linux上的.mdb文件,但我发现它们对于更大,更复杂的数据库来说是不稳定的。 最好的方法是在Windows上使用ADO或ODBC将.mdb数据库中的数据导出为可导入其他位置(如csv)的格式。

在Ruby中使用DBI ,或在Ruby脚本中使用ADO,已经有了好运气。

以下链接可能对您有用。

MySQL的:

访问迁移

read.php?65,27115,27115

PostgreSQL的:

Microsoft Access到PostgreSQL转换

从其他数据库转换到PostgreSQL

MySQL或Postgres可以很好地作为您的访问数据的替代数据存储。 如果您的Access数据库包含表单或报表,那么在开放源代码中确实没有直接替换,您可能需要保留Access前端并使用ODBC驱动程序访问数据,或者编写一系列新的表单或报表PHP或您最喜爱的网页脚本语言。

我现在有同样的问题,并发现这个免费软件正是我所需要的: http : //www.bullzip.com/products/a2m/info.php

它从MDB文件中提取所有生成的,我直接导入到我的MySQL服务器的SQL文件。

这个过程有两个部分

1)从Access数据库转换为脚本,有一些很好的选择,虽然你可能需要Access和潜在的Sql server来做到这一点

2)选择你的目标数据库 – MySql似乎是一个很好的选择,在Linux或Windows上运行它,并从脚本中运行ddl和数据。

不知道你怎么能没有访问,虽然,你有什么想法是什么样的模式? 如果你遇到probs问题,我可以帮你做第一步,但是现在我还没有安装Linux。

我不同意:不需要使用外部工具或昂贵的中间件。 最简单,最干净,最便宜,最快,最安全(我说BEST?)解决方案是使用ODBC并且完全集成。