Java和Oracle - 将JAR加载到Oracle还是单独执行?

Fru*_*ner 5 java oracle

我有一种情况,我需要执行一些代码,由于多种原因(我不会进入这里)在Java中比在PL/SQL中更好.我认为有两种选择:

  1. 创建一个包含所有已编译代码和其他支持文件/其他jar的jar,将jar加载到Oracle(我们运行10g),并从存储过程执行Java.

    • 优点:Java代码与系统的其余部分非常完美地集成,可以从现有的PL/SQL调用.
    • 缺点:我在Oracle中运行Java的经验很少.
  2. 将Java保留在单独的jar中,并通过shell脚本执行它.

    • 优点:我之前写过这样的Java,所以我很熟悉它.
    • 缺点:与其他一切的集成不良,可能需要额外的手动步骤来运行和管理.

Java代码必须从Oracle表中读取XML数据,并将数据(非XML)写入其他表,因此数据库集成的数量使我认为将Java代码加载到数据库中可能是一个好主意,但我是只是不确定......

人们从Oracle中加载和运行Java代码有哪些经验?测试和调试有多容易?是否需要任何特殊工具?我应该注意哪些"陷阱"?

Pab*_*ruz 1

我会选择选项 1:将 Java 代码加载到数据库中。我对这种方法有很好的经验,您不需要太多的经验就可以使用这种方法获得良好的解决方案。

在数据库中嵌入 Java 唯一会变得复杂的部分(您必须为 Java 代码设置特殊权限)是当您需要访问外部资源(网络、文件 I/O 等)时,而这显然不是你在这个问题上的情况。