将存储过程 PL/SQL 转换为 Java
Posted
技术标签:
【中文标题】将存储过程 PL/SQL 转换为 Java【英文标题】:Converting stored procedures PL/SQL to Java 【发布时间】:2015-10-14 10:00:29 【问题描述】:是否有人知道将 PL/SQL 转换为 Java 的开源工具。或者,如果您对准备制作此工具有任何建议。
【问题讨论】:
为什么需要会议?你需要将PLSQL包装成java吗?您是否打算不使用 Oracle 并迁移代码?或者您想更好地扩展您的应用程序?或者也许将逻辑移到数据库之外?你的代码大小是多少? Oracle 在数据库中有 Java,或 SQLJ(类似于 ProC),但我想这不是您要寻找的。span> 我们需要让我们的应用程序数据库独立,有几千行代码,我们的基本目标是将存储过程转换为java。 类似问题:***.com/questions/8838488/… 【参考方案1】:很可能没有开箱即用的工具。我建议使用 ANTLR 构建一个 PL/SQL 解析器,然后你可以在它上面实现你的翻译器。
【讨论】:
AFAIK,ANTLR 只会提供 AST,我想这只是一步,并且有许多 PL/SQL 解析器可用。当你说我需要在它上面实现一个翻译器时,你是什么意思?该怎么办? 是的,这就是我的意思。这将花费大量时间(开发解析器和开发翻译器),因此使用下面建议的商业解决方案可能更便宜。【参考方案2】:有一些商业工具,例如: http://www.ispirer.com/application-conversion/oracle-plsql-to-java-migration 没有免费的 afaik。
您可能会得到 PLSQL 中最复杂的部分并尝试手动转换它。 您将看到自动翻译是否有意义,您将能够评估工具。
我看到的所有翻译代码都非常丑陋且难以维护(尽管可能)。
也许更好的选择是使用 PLSQL 创建回归测试,手动编写 Java 代码并针对您的回归测试进行测试。
PLSQL 仍然存在是有充分理由的。
【讨论】:
【参考方案3】:P2JTrans 是一个 PL/SQL 到 Java 的转换器,使用 ANTLR v3.3 和 StringTemplate 将 PL/SQL 代码转换为 java
https://github.com/developeron29/P2JTrans
【讨论】:
【参考方案4】:查看商业广告:http://www.io64.com/plsql-to-java-migration/
在demo中,生成的代码也会被执行。
【讨论】:
以上是关于将存储过程 PL/SQL 转换为 Java的主要内容,如果未能解决你的问题,请参考以下文章
使用带有布尔输入参数的 PL/SQL 在 oracle 中调用 java 存储过程