gpt4 book ai didi

java - 将数据集从 Oracle PL/SQL 传递到 Java 的适当方法

转载 作者:太空宇宙 更新时间:2023-11-04 10:42:03 24 4
gpt4 key购买 nike

我需要通过 JDBC 将数据集从 Oracle 传递到 Java。

如何更好地组织它,以便一切正常运行,并且在发生更改(例如表列类型)时,Java 开发人员和 PL/SQL 开发人员都可以方便地维护代码?

我看到这样的变体:

  1. 通过存储过程传递sys_refcursor,并且在Java中期望存在具有特定类型数据的特定字段。

  2. 传递一个强引用游标,在 Java 中执行与第 1 项中相同的操作,但在 PL/SQL 包中有类型描述。

  3. 传递SQL“表”类型,在架构级别进行描述。如果我理解正确的话,在Java中显然它可以以某种方式应用于对象。问题在于,在这些类型中,不可能使用列类型 - Column_Name%TYPE 来处理字段。

  4. PL/SQL 包“对象/记录表”类型中进行,并使用JPublisher 来处理它 - JPublisher 显然将其转换为 SQL 类型。我不太清楚这是如何实现的,以及当列的数据类型发生变化时,对于相同的情况需要做什么。

  5. 使用管道函数而不是光标(这对于这样的任务有意义吗?)。

选择什么?或者也许还有别的东西,不是从这些点出发的?

附注抱歉英语不好。

最佳答案

我不确定我是否正确理解了您的问题,但我认为您感到困惑。

您所描述的变体是在服务器端执行Java包的方式(例如,当您有带有应用程序服务器的数据库并希望使用数据库的数据在其上执行Java包时)。

但是如果您考虑 JDBC,那么我猜您想制作一些可以与数据库一起使用的 java 应用程序。这样您就不必使用某些sys_refcursor子类型,例如对象/记录表。 JDBC 提供使用简单 SQL 处理数据集的功能。您应该以用户身份连接到数据库(通过 JDBC)并执行 sql 查询。之后您可以从结果集中获取任何数据。
示例:
Connection example via JDBC
Execute select after connection

因此,您问题的答案取决于您的目标。

关于java - 将数据集从 Oracle PL/SQL 传递到 Java 的适当方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48867475/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com