Я выполняю процедуру из кода Java, который имеет 2 выходных параметра, одним из которых является таблица объектов. вот обзор пакета
PROCEDURE SalesProc (
p_S_table IN t_s_table
, p_T_table IN OUT t_t_table
, x_message OUT VARCHAR2
)
t_table - это параметр IN OUT, который содержит несколько строк и чисел. Перед выполнением пакета я создаю массив SalesObject и устанавливаю в него.
Здесь цель состоит в том, чтобы получить некоторое значение из t_table, используя resultSet.
источник, который я пытаюсь заставить работать:
callstmt.registerOutParameter(2, Types.ARRAY,"T_TABLE");
callstmt.setArray(2, mySalesObjectArray);
callstmt.execute();
java.sql.Array aa = callstmt.getArray(2);
ResultSet rs = aa.getResultSet();
while(rs.next()){
String ss = rs.getString(1);
}
Следующая строка дает "java.sql.exception
"
String ss = rs.getString(1);
Я также пытаюсь привести его к типу объекта следующим образом
salesObject[] sArray = (salesObject[])callstmt.getArray(2);
Что выдает исключение classCastException.
"classcastException.Cannot cast java.lang.Object[2][id=16062] to java.lang.String[]
"
как мне избежать этих исключений?