我一直在浏览与我的问题有关的论坛中的很多帖子,但我没有帮助我,所以我发布了我的问题。 我在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();
}
...
但猜猜是什么?它根本不起作用......我错过了什么?谢谢!
答案 0 :(得分:1)
行。对不起我的错。我没有关闭BufferedWriter ......代码工作正常。