小编典典

从Java运行sqlplus脚本的简单方法

sql

我有一个包含sqlplus特定脚本的sql文件:它包含/或; 作为语句终止符,执行存储过程的EXEC等。

我需要从Java(jdbc)执行此脚本,而无需sqlplus。

sql ant task / maven sql插件无法处理不同的终止符或EXEC命令。

您知道不运行sqlplus的任何好方法吗?


阅读 248

收藏
2021-04-22

共1个答案

小编典典

我们遇到了同样的问题…简而言之,目前还没有现成的解决方案:如果打开AntMaven源代码,您会发现它们正在使用基于regexp的简单脚本拆分器,该脚本拆分器适用于简单脚本,但通常在例如存储过程上失败。

实际上,确实有用于PL / SQL的ANTLR解析器,例如Alexandre
Porcelli的
软管非常接近,但仍不能用作嵌入式解决方案。

我们最终编写了又一个临时拆分器,该拆分器知道一些sqlplus命令,例如/and,EXIT它仍然很丑陋,但适用于我们的大多数脚本。

2021-04-22