代码之家  ›  专栏  ›  技术社区  ›  FrustratedWithFormsDesigner

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

  •  5
  • FrustratedWithFormsDesigner  · 技术社区  · 14 年前

    我有一种情况,我需要执行一些代码,因为很多原因(我不会在这里介绍)在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代码有什么经验?测试和调试有多容易?需要什么专用工具吗?有什么“问题”我应该知道吗?

    2 回复  |  直到 11 年前
        1
  •  1
  •   Pablo Santa Cruz    14 年前

    我将使用选项1:在数据库中加载java代码。我有很好的经验,你不需要 那个 用这种方法得到一个好的解决方案有很多经验。

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

        2
  •  0
  •   Erich Kitzmueller    14 年前

    对于您的场景,在数据库中执行它似乎是正确的方法。在外面这么做的原因可能是:

    • 依赖于与Oracle内置JVM不兼容的javalib
    • 需要在不同于Oracle的linux用户帐户下运行它

    但在你的情况下我也看不到