从MS Access移植

时间:2009-02-24 05:40:11

标签: mysql linux ms-access postgresql

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

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

7 个答案:

答案 0 :(得分:3)

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

我使用DBI with Ruby或使用ADO in a Ruby script祝你好运。

答案 1 :(得分:2)

答案 2 :(得分:1)

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

答案 3 :(得分:1)

我使用了MySQL Migration Toolkit,它对表格非常有效,甚至可以创建可重用的脚本。它免费且易于使用。

此工具包现在是EOL,MySQL Workbench 5.2取代它。

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

答案 4 :(得分:1)

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

它从MDB文件中提取了一切,生成了一个我直接导入MySQL服务器的SQL文件。

答案 5 :(得分:0)

该过程分为两部分

1)从Access数据库转换为脚本,有一些good options虽然你可能也需要Access和潜在的Sql Server,但这样做

2)选择目标数据库 - MySql似乎非常合适,在Linux或Windows上运行它并从脚本中运行ddl和数据。

不确定如何在没有Access的情况下执行此操作,您是否知道架构的外观?如果您遇到probs我可以帮忙解决第1步,但我目前还没有安装Linux。

答案 6 :(得分:0)

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