Java Oracle-通过JDBC的多行SQL-Apex SQL Workshop或SQL Plus

Java Oracle-通过JDBC的多行SQL-Apex SQL Workshop或SQL Plus,java,sql,oracle,Java,Sql,Oracle,通过我的Java/GrailsWebApp,我希望有一个表单/程序,允许用户上传SQL文件(或粘贴内容)并执行它。就像Oracle Apex中的SQL研讨会一样。我的理想解决方案是将Apex中的SQL Workshop嵌入到我的webapp中 我看过关于多行SQL文件的帖子。。它们通常涉及分号的解析,我找不到一个似乎能够正确处理分号并同时声明begin end块和Oracle DDL的分号。此外,他们似乎都在试图重新发明SQL Plus的功能。能够调用SQL Plus也很好,但我不确定有没有一种

通过我的Java/GrailsWebApp,我希望有一个表单/程序,允许用户上传SQL文件(或粘贴内容)并执行它。就像Oracle Apex中的SQL研讨会一样。我的理想解决方案是将Apex中的SQL Workshop嵌入到我的webapp中

我看过关于多行SQL文件的帖子。。它们通常涉及分号的解析,我找不到一个似乎能够正确处理分号并同时声明begin end块和Oracle DDL的分号。此外,他们似乎都在试图重新发明SQL Plus的功能。能够调用SQL Plus也很好,但我不确定有没有一种方法可以通过web应用干净地实现这一点

问题: 1) 在我的自定义web应用程序中是否有“嵌入”Apex附带的SQL Workshop? 2) 如果不是。。。是否有一种“干净”的方式通过Grails/JavaWeb应用程序调用SQLPlus?一个也将是平台独立的


请随时提供任何反馈。。。我是网络开发新手,希望您能给我一些建议。

您对上传的内容有何发言权?i、 e.如果你用一个大的
BEGIN..END来包围输入会怎么样块并将其作为单个PL/SQL块执行?显然,您必须禁止使用SQL*Plus命令和独立SQL查询,但这对于执行匿名块以及运行插入、更新和删除操作非常有用。不,我没有发言权。。我也不想限制什么是允许的,如果这是你的意思的一部分。理想情况下,它将允许SQL Plus允许的一切。如果我错了,请纠正我,但是。。。我认为用begin-end包围它会阻止DDL语句。也。。。我也想允许声明开始结束匿名块也。。。因此,我认为,用另一个开始和结束来围绕它会带来问题。我甚至想允许匿名块和独立DDL/DML语句的“混合”。