0

是否有可靠的 Java 库或包可以将一种 SQL 语法转换为另一种?

我做了一些谷歌搜索,发现http://www.sqllines.com/online

我很好奇是否有类似的东西可以通过编程方式批量执行 500 个查询。具体来说,我对从 Oracle 转到 MariaDB 很感兴趣。

4

2 回答 2

1

您也许可以使用 jOOQ。它支持许多后端,最近有了一个解析器,可以解析 jOOQ 支持的方言的超集。它目前被标记为实验性的,但仍可用于一次性翻译工作。

以下是解析器的文档:https ://www.jooq.org/doc/latest/manual/sql-building/sql-parser/

这里有一个在线翻译器,您可以尝试看看它是否适合您的需求:https ://www.jooq.org/translate/

它还支持称为解析连接的东西,它是 JDBC 连接的包装器,可将 SQL 即时转换为您选择的方言:https ://www.jooq.org/doc/latest/manual/sql-execution /解析连接/

于 2018-06-03T23:00:42.370 回答
1

SQL 的变体非常极端,以至于我怀疑是否有翻译器可以完成一半以上的工作。您可能需要对CREATE TABLE. Oracle 拥有许多 MariaDB 中根本不存在的特性。

所以......你最好学习两种变体并手动编码替换。这可能包括去除旧的垃圾(一件好事)和/或必须发明新的轮子(可能是一个挑战)。

于 2017-04-16T19:44:06.603 回答