我一直在论坛中查找与我的问题相关的许多帖子,但没有任何帮助,所以我发布了我的问题。 我在 Oracle (11g) 中有一个 SP,它应该返回一个结果集。 SP 如下所示:
CREATE OR REPLACE
PROCEDURE testProc
(
tableName IN VARCHAR2,
INFORMATION OUT SYS_REFCURSOR
) AS
sqlQuery varchar2(1000);
BEGIN
sqlQuery := 'SELECT ID||''|''||Name||''|''||Surname FROM '||tableName;
OPEN INFORMATION FOR sqlQuery;
END GETVALIDATIONPECLOG;
我从 java 调用它的方式是
...
CallableStatement cs = null
cs = connection.prepareCall("{call getvalidationpeclog(?,?)}");
cs.setString(1, table);
cs.registerOutParameter(2, OracleTypes.CURSOR);
System.out.println("AS: " + cs.execute()); //Returns false
rs = (ResultSet) cs.getObject(2);
while (rs.next()) {
bw.write(rs.getString(1));
bw.newLine();
}
...
但是你猜怎么着?它根本不起作用...我错过了什么?谢谢!
最佳答案
好的。对不起我的错。我没有关闭 BufferedWriter...该代码工作得很好。
关于java - 从 Java 中的 Oracle 存储过程获取结果集,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7973284/