首页 > 解决方案 > 使用 mdbtools 将 access db 转换为 sql

问题描述

当我尝试使用命令将我的 .accdb 导入 sql 数据库时

mdb-schema IPEDS201617.accdb | mysql -u root -p IPED201617

它抛出一个错误,上面写着

ERROR 1064 (42000) at line 11: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '[ADM2016]
(
    [UNITID]            Long Integer,
    [ADMCON1]            Integer,
    [ADMCON2]            Inte' at line 1

我认为这是一个数据类型错误,所以我将所有长整数转换为文本,但错误仍然存​​在。

我只是想从.accdb获取SQL DB所以如果有任何方法可以直接做到这一点。**

标签: mysqlsqlms-accessmdbtools

解决方案


% mdb-schema db.accdb mysql > schema.sql

% mdb-tables -1 db.accdb | xargs -I {} -n 1 mdb-export -D '%Y-%m-%d %H:%M:%S' -I mysql db.accdb {} > data.sql

这将分别创建模式和数据 sql 文件。


推荐阅读