1

所以想必mysqldump可以导出成ansi兼容的格式,这样就可以导入到其他厂商的数据库了。

但是尝试导入到 apache derby 我面临所有这些语法错误。以为我尝试了一些正则表达式并修复了一些东西,但似乎不止一对。

我对mysqldump有什么遗漏吗?尝试了ddlutils,但在步骤 3 之后无法使用这些似乎过时的文档取得进展。

我还有其他选择吗?

4

2 回答 2

1

mysqldump选项--compatible=ansi不会生成完全兼容 ANSI 的 SQL 脚本,它只是尝试生成兼容 ANSI 的结果:“生成与其他数据库系统或旧 MySQL 服务器更兼容的输出。”

不幸的是,每个数据库支持的 SQL 语法都有点不同。SQL 是一个相对较弱的标准,比 Javascript 甚至 C 弱得多。有些数据库支持像 MySQL 那样的兼容性特性,甚至是兼容模式(免责声明:我是 H2 的主要作者),但有时即使这样还不够。

您有多种选择:您可以手动更改生成的 SQL 脚本,或者您可以使用其他工具来复制表结构/数据。一个这样的工具是SQuirreL DB Copy Plugin(我从未真正使用过它,但据我所知它运行良好)。

于 2010-09-21T15:39:15.227 回答
0

如果您可以以 CSV 格式或类似格式导出数据,则可以使用 Derby 数据导入程序来导入数据:http ://db.apache.org/derby/docs/10.7/ref/rrefimportproc.html

于 2011-04-06T13:43:30.213 回答