【问题标题】:How do I get output into Java from a SELECT stored procedure in Oracle?如何从 Oracle 中的 SELECT 存储过程中获取 Java 的输出?
【发布时间】:2011-02-25 09:34:57
【问题描述】:

我正在使用 Java 连接到 Oracle 10 数据库。 我想创建一个不带参数的存储过程(不要问为什么) 并返回很多行。具体来说,在Java中我希望能够得到这个 数据类似于:

ResultSet rs = stmt.executeQuery("call getChildless");

其中 getChildless 是查询:

SELECT objectid
FROM Object
WHERE objectid NOT IN (SELECT parent FROM subparts);

但是,我一生都无法弄清楚如何获得我的 存储过程的输出。我用谷歌搜索了它,我得到了 Oracle 不会编译的所有这些示例代码,大概是为了 以前的版本。 Refcursors 似乎出现了很多,但我不确定 如果那是我真正想要的,将它与 ResultSet 一起使用。

【问题讨论】:

  • 引用游标绝对是将一堆记录传递到 ResultSet 的方法。所以我认为我们需要解决的问题是编译失败。如果您要发布(尽可能少的部分)代码和编译错误,将会有很大帮助。
  • getChildless 不能是查询。它可能是一个过程、函数或视图。如何从中检索结果取决于它是什么。

标签: java oracle stored-procedures jdbc oracle10g


【解决方案1】:

我认为 Oracle JDBC 就像 MS-SQL JDBC...

while (rs.next())
{
    myint = rs.getInt(1);
}

【讨论】:

    【解决方案2】:

    JDBC 是动态类型的,它不会编译是没有意义的。 See this link to the JDBC Tutorial

    【讨论】:

      猜你喜欢
      • 2017-02-21
      • 2011-12-19
      • 2017-07-24
      • 2015-03-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-10-21
      相关资源
      最近更新 更多