Oracle脚本从Java代码运行而不安装Oracle客户端

时间:2012-11-20 12:41:00

标签: java oracle

我编写了适用于Oracle数据库的应用程序,我必须有可能从数据库上的java代码运行sql脚本。现在我在sqlplus.exe应用程序的帮助下做到了,但是这个解决方案迫使我安装了Oracle客户端,所以我想知道是否有任何方法可以从java代码运行sql脚本但没有sqlplus.exe。我找到了基于ant任务描述解决方案的文章,但据我所知,它会迫使我将ant buid基础设施附加到应用程序。对我来说最好的解决方案是让特殊的jar从那个jar中使用一些魔法类,然后用那个类完成:)是否可能?

2 个答案:

答案 0 :(得分:0)

答案 1 :(得分: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命令,则无法实现。