Вот проблема (извините за плохой русский):
я работаю с JDeveloper и Oracle10g, и у меня есть хранимая процедура Java, которая вызывает другой JSP, например код:
int sd = 0;
try {
CallableStatement clstAddRel = conn.prepareCall(" {call FC_RJS_INCLUIR_RELACAO_PRODCAT(?,?)} ");
clstAddRel.registerOutParameter(1, Types.INTEGER);
clstAddRel.setString(1, Integer.toString(id_produto_interno));
clstAddRel.setString(2, ac[i].toString());
clstAddRel.execute();
sd = clstAddRel.getInt(1);
} catch(SQLException e) {
String sqlTeste3 = "insert into ateste values (SQ_ATESTE.nextval, ?)";
PreparedStatement pstTeste3 = conn.prepareStatement(sqlTeste3);
pstTeste3.setString(1,"erro: "+e.getMessage()+ ac[i]);
pstTeste3.execute();
pstTeste3.close();
}
Я записываю ошибку в таблицу с именем ATESTE, потому что этот JavaSP является процедурой, а не функцией, мне нужно манипулировать DML внутри.
Итак, сообщение об ошибке, которое я получаю: "конфликт типа параметра"...
функция "FC_RJS_INCLUIR_RELACAO_PRODCAT" - это тоже хранимая процедура Java, она уже экспортирована в Oracle и возвращает переменную int, и я должен прочитать это, чтобы решить, какой веб-сервис я буду вызывать из этого JavaSP.
Я уже пробовал OracleTyep.NUMBER в registerOutParameter.
Кто-нибудь знает, что я делаю неправильно?