我的 oracle 过程返回一个字符串数组,我从我的 java 方法中调用该过程。当我执行查询时,出现以下异常。
java.sql.SQLException: ORA-03115: unsupported network datatype or representation
笔记:
我在这里使用了 OracleTypes.ARRAY,但我也尝试使用 Types.ARRAY,但它仍然给了我同样的错误。
我的Java方法:
public void searchRecords() throws FinderException{
Session session = getCurrentSession();
Connection con = session.connection();
CallableStatement stmt = null;
String procCall = "call pkg_inquiry.test2(?,?)";
try{
stmt = con.prepareCall(procCall);
stmt.setInt(1, 1);
stmt.registerOutParameter(2, OracleTypes.ARRAY);
//stmt.registerOutParameter(2, Types.ARRAY);
stmt.execute(); //-----------This statement causes exception
}catch(SQLException e){
System.out.println(e.getMessage());
}
}
我的程序:
PROCEDURE test2(
p_in in INTEGER,
p_out OUT header_row_vt
)
is
BEGIN
p_out := header_row_vt('NAME', 'AGE', 'CITY', 'STREET');
END test2;
如果你想知道我使用的是 Oracle 11.2 和 jdbc 11.2