正在获取???使用JDBC从dbms_output.get_lines输出]

问题描述 投票:0回答:1
根据此问题:Getting output from dbms_output.get_lines using JDBC

我使用了代码:

try (Statement s = conn1.createStatement()) { try { s.executeUpdate("begin dbms_output.enable(); end;"); s.executeUpdate("begin dbms_output.put_line('abc'); end;"); s.executeUpdate("begin dbms_output.put_line('hello'); end;"); s.executeUpdate("begin dbms_output.put_line('so cool'); end;"); try (CallableStatement call = conn1.prepareCall( "declare " + " num integer := 1000;" + "begin " + " dbms_output.get_lines(?, num);" + "end;" )) { call.registerOutParameter(1, java.sql.Types.ARRAY, "DBMSOUTPUT_LINESARRAY"); call.execute(); Array array = null; try { array = call.getArray(1); System.out.println(Arrays.asList((Object[]) array.getArray())); } finally { if (array != null) array.free(); } } } finally { s.executeUpdate("begin dbms_output.disable(); end;"); } }

但结果收到:

[???, ???, ???, null]

当我应该得到的时候:

[abc, hello, so cool, null]

这可能是什么原因,如何解决?

根据这个问题:使用JDBC从dbms_output.get_lines获取输出,我使用了代码:t​​ry(Statement s = conn1.createStatement()){try {s.executeUpdate(“ dbms_output开头。...

java sql oracle jdbc plsql
1个回答
0
投票
© www.soinside.com 2019 - 2024. All rights reserved.