如何将MDB(Access)文件转换为MySQL(或纯SQL文件)?

是否有可能从Microsoft Access数据库创build转储的SQL命令? 我希望将这个MDB文件转换成MySQL数据库导入,所以我不必经过CSV步骤。

我希望即使MSSQL转储文件仍然包含可行的SQL命令,但我对MSSQL一无所知,请让我知道。

你想转换mdb到mysql(直接传输到mysql或mysql转储)?

尝试一个名为访问MySQL的软件。

访问MySQL是一个小程序,将Microsoft Access数据库转换为MySQL。

  • 向导界面。
  • 直接从一台服务器传输数据到另一台。
  • 创build一个转储文件。
  • select要传输的表格。
  • select要传输的字段。
  • 传输密码保护数据库。
  • 支持共享安全和用户级安全。
  • 可选的索引转移。
  • 可选传输logging。
  • 字段定义中可选的传输默认值。
  • 识别和传输自动编号字段types。
  • 命令行界面。
  • 轻松安装,卸载和升级。

请参阅前面提到的链接,了解带截图的分步教程。

如果您可以访问安装有mdbtools的Linux机器,则可以使用此Bash shell脚本(另存为mdbconvert.sh):

#!/bin/bash TABLES=$(mdb-tables -1 $1) MUSER="root" MPASS="yourpassword" MDB="$2" MYSQL=$(which mysql) for t in $TABLES do $MYSQL -u $MUSER -p$MPASS $MDB -e "DROP TABLE IF EXISTS $t" done mdb-schema $1 mysql | $MYSQL -u $MUSER -p$MPASS $MDB for t in $TABLES do mdb-export -D '%Y-%m-%d %H:%M:%S' -I mysql $1 $t | $MYSQL -u $MUSER -p$MPASS $MDB done 

调用它只需要像这样调用它:

 ./mdbconvert.sh accessfile.mdb mysqldatabasename 

它将导入所有表和所有数据。

我修改了Nicolay77的脚本,将数据库输出到stdout(通常的unix脚本),这样我就可以将数据输出到文本文件,或者将其传送到我想要的任何程序。 由此产生的脚本更简单,运行良好。

一些例子:

 ./to_mysql.sh database.mdb > data.sql ./to_mysql.sh database.mdb | mysql destination-db -u user -p 

这里是修改的脚本(保存到to_mysql.sh)

 #!/bin/bash TABLES=$(mdb-tables -1 $1) for t in $TABLES do echo "DROP TABLE IF EXISTS $t;" done mdb-schema $1 mysql for t in $TABLES do mdb-export -D '%Y-%m-%d %H:%M:%S' -I mysql $1 $t done 

免费的数据库工具不会导出表RELATIONSHIPS但可以使用这个 : 将MS Access转换为具有关系的MySQL

工作正常,并将所有关系导出到MySQL。

在这里输入图像说明

尝试微软的数据转换服务

试试MySQL的数据向导 。 它是一个将任何ADO兼容源(例如MS Access)的结构和数据转换成MySQL数据库的工具。 请参阅连接string的简要指南,以便将连接string构build到您的MS Access文件。

为了达到这个目的,我们使用了ESF数据库多次转换 。 DTS通常太过飘飘。 MySQL页面上的build议非常过时。

OSX用户可以按照使用mdbtools实用程序的Nicolay77mikkom进行操作。 你可以通过自制软件安装。 只要安装你的自制软件,然后去

 $ homebrew install mdbtools 

然后创build一个由家伙描述的脚本并使用它。 我用mikkom的一个,把我所有的mdb文件转换成sql。

 $ ./to_mysql.sh myfile.mdb > myfile.sql 

(这btw包含多个表)

我已经使用SQLYog Ultimate从mdb文件导入数据,这是非常简单的过程。

您可能需要安装这些支持工具。

MS Access数据库引擎

并在下面下载SQLYog Ultimate

selectSQLYog,你可以使用这个试用版

我使用Mac我做这个转换;

  1. 下载ACCDB MDB资源pipe理器http://accdb-mdb-explorer.en.softonic.com/mac
  2. 打开MDB文件
  3. 导出为SQL
  4. 使用MySQL Workbench导入MySQL。

这个mac工具MDB / ACCDB Viewer适合我的需要。 免费试用版让我certificate了所需的一切,并导出了所有行的一半。 需要完整的版本来获得整个数据库/表导出。

如果你不太关心你要转换的.mdb文件的隐私,请知道这个网站允许我恢复两个15岁的.mdb Access数据库(还记得以前ASP统治网页的时候吗?)在短短的两分钟内: http : //www.mdbopener.com/

数据库转换为Excel文件,每个表格一张。 正是我所需要的。 不能更快地恢复我的(非常)旧的数据…

这些ID保存在每个表中,就像任何事情一样简单,再次转换成mysql(在保存为CSV格式之后) – 再过几分钟。