Вот проблема (извините за плохой английский):
Я работаю с 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.
Кто-нибудь знает, что яя делаю неправильно?