首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何将MDB (Access)文件转换为MySQL (或纯SQL文件)?

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

Stack Overflow用户
提问于 2011-04-20 04:51:50
回答 2查看 171.1K关注 0票数 82

是否可以从Microsoft Access数据库创建SQL命令的转储?我希望将这个MDB文件转换为MySQL数据库以便导入,这样我就不必执行CSV步骤。

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

EN

回答 2

Stack Overflow用户

发布于 2014-08-10 03:48:37

如果您有权访问安装了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

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

票数 49
EN

Stack Overflow用户

发布于 2015-09-06 20:28:05

我用Nicolay77修改了脚本,将数据库输出到stdout ( unix脚本的常用方法),这样我就可以将数据输出到文本文件或通过管道将其发送到任何我想要的程序。生成的脚本稍微简单一些,并且运行良好。

下面是一些例子:

./mdb_to_mysql.sh database.mdb > data.sql

./mdb_to_mysql.sh database.mdb | mysql destination-db -u user -p

这是修改后的脚本(保存为mdb_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
票数 41
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5722544

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档