【问题标题】:Using Java in Oracle database在 Oracle 数据库中使用 Java
【发布时间】:2010-10-17 14:30:21
【问题描述】:

我当前的 java 代码已部署到数据库,plsql 代码调用它并使用它。 我需要从数据库中取出 Java 代码并且仍然可以使用它。

我想到的选项是:

  1. 网络服务
  2. Java 存储过程
  3. 使用 pl/sql 调用 OS 命令
  4. RMI

您的建议是什么? 请补充缺点和优点。

谢谢, 利然

【问题讨论】:

    标签: java plsql


    【解决方案1】:

    我当前的 java 代码部署到 DB和plsql代码调用它, 使用它。我需要获取 Java 代码 出数据库,仍然可以 使用它。

    您能否阐明“从数据库中取出 Java 代码”对您意味着什么?您是否打算将其打包到 JAR 中并将其从数据库中完全删除?我不清楚您是否希望将此操作移至中间层并且不再让 PL/SQL 调用它。

    以下是我对您提出的选择的看法:

    1. Web 服务 - 将操作从数据库移到中间层。
    2. Java 存储过程 - 我不明白这一点。如果它现在在数据库中,这将如何改变?您当然可以让任何客户端调用该 PL/SQL,这反过来又会调用您的 Java 代码。问题是在中间层还是在数据库服务器上执行该操作更有效。
    3. 使用 pl/sql 调用 OS 命令 - 我完全不明白。
    4. RMI - 只是另一种远程选择,就像 Web 服务一样。如果您将操作封装为 Java POJO 服务,您可以以任何您希望的方式远程代码。这意味着只有 Java 客户端。 Web 服务可以接受来自任何可以使用 HTTP 的客户端(包括非 Java 客户端)的请求。

    【讨论】:

    • 感谢您的回答。我写了第二条评论,因为我没有足够的空间
    • 现在我的系统中有 *.sqlj 代码,我想用 JPA 实体(使用 Hibernate)替换它。由于将 JPA 实体部署到数据库效率不高,因此已决定不会将 Java 代码部署到数据库,除了一些会调用外部 Java 代码的函数。我与 CTO 交谈,他建议了我在问题中写的选项。至于你的问题:3.你可以使用plsql来调用操作系统命令(比如“javaw ...”)Java存储过程是我们当前使用的解决方案是正确的,但我想你建议是否继续使用它.
    【解决方案2】:

    目前还不清楚您想做什么或为什么。如果您只是想重用一些代码,作为构建过程的一部分,请从数据库中获取 java,以便对其进行编译并包含在您的 jar/war 文件中。

    【讨论】:

      猜你喜欢
      • 2014-07-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-11-01
      • 2010-11-28
      相关资源
      最近更新 更多