我编写了在 Oracle 数据库上工作的应用程序,我必须有可能从数据库上的 java 代码运行 sql 脚本。现在我在 sqlplus.exe 应用程序的帮助下完成了这项工作,但是这个解决方案迫使我安装了 Oracle 客户端,所以我想知道是否有任何方法可以从 java 代码运行 sql 脚本但没有 sqlplus.exe。我找到了描述基于 ant 任务的解决方案的文章,但据我所知,这将迫使我将 ant buid 基础设施附加到应用程序。对我来说最好的解决方案是让特殊的 jar 使用该 jar 中的一些魔术类并使用该类完成它:) 可能吗?
问问题
606 次
2 回答
0
于 2012-11-20T12:44:43.393 回答
0
Oracle 基本上使用三种语言:
- SQL(SELECT、INSERT、CREATE TABLE 等命令)
- PL/SQL(包括变量声明、循环、异常的过程语言)
- SQLplus 命令(SET DEF、VARIABLE、@、斜杠 (/) 用于执行 PL/SQL 块等)
使用 Java 客户端 (ojdbc.jar),您可以一次执行单个 SQL 语句和 PL/SQL 块。但它不支持 SQLplus。
如果您的脚本很简单,那么您可以编写一个解析器,将脚本拆分为单个 SQL 语句和 PL/SQL 块并一个一个地执行它们。但是如果你使用 SQLplus 命令,那就不可能了。
于 2012-11-20T12:49:34.267 回答