【问题标题】:Oracle script run from Java code without installing Oracle clientOracle 脚本从 Java 代码运行,无需安装 Oracle 客户端
【发布时间】:2012-11-20 21:40:30
【问题描述】:

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

【问题讨论】:

  • IMO,只说 sqlplus 可执行文件是先决条件会不会那么痛苦……或者将您的脚本重写为 SQL + PL/SQL,以便您可以使用 JDBC 运行它们。

标签: java oracle


【解决方案1】:
【解决方案2】:

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命令,那就不行了。

【讨论】:

  • 我的脚本很复杂,我想写脚本解析器,但我肯定想要脚本运行器。
猜你喜欢
  • 2019-10-19
  • 2019-11-09
  • 1970-01-01
  • 2019-06-24
  • 1970-01-01
  • 2011-12-10
  • 2023-03-10
  • 1970-01-01
  • 2011-01-01
相关资源
最近更新 更多