【发布时间】:2017-07-12 20:45:12
【问题描述】:
我正在尝试获取给定包中给定 Oracle 过程的参数。它总是不返回任何数据。
当获取不在包中的过程的参数时,我们的逻辑可以正常工作。我希望这能正常工作。因为它要求一个包名,所以我没想到必须做任何其他事情。
一旦我建立了连接,我们就会运行这个:
dbMetaData = conn.getMetaData();
rs = dbMetaData.getProcedureColumns(packageName, null, procedureName, null);
while(rs.next()){
...
}
rs.next 总是假的。我一定是错过了什么?
【问题讨论】:
-
抱歉,我当然不是 Oracle 专家。我认为甲骨文包适用于目录。一旦我们得到参数,我们就使用 SimpleJdbcCall 来执行该过程。在 SimpleJdbcCall 类上有一个名为“withCatalogName”的方法。其 java 文档内容如下: (可选)指定包含存储过程的目录的名称。为了提供与 Oracle DatabaseMetaData 的一致性,如果过程被声明为包的一部分,则用于指定包名称。
标签: java oracle stored-procedures