Сохраненная процедура Spring - результаты, возвращаемые из процедуры, всегда пустыJAVA

Программисты JAVA общаются здесь
Ответить Пред. темаСлед. тема
Anonymous
 Сохраненная процедура Spring - результаты, возвращаемые из процедуры, всегда пусты

Сообщение Anonymous »

Я использую классы Spring JdbcTemplate и StoredProcedure. У меня возникли проблемы с работой класса хранимой процедуры.

У меня есть хранимая процедура в базе данных Oracle. Его подпись

Код: Выделить всё

CREATE OR REPLACE PROCEDURE PRC_GET_USERS_BY_SECTION
(user_cursor OUT Pkg_Types.cursor_type
, section_option_in IN Varchar2
, section_in IN Varchar2) AS ....
где

Код: Выделить всё

TYPE cursor_type IS REF CURSOR;
Я создал следующий класс хранимой процедуры для получения информации из процедуры Oracle

Код: Выделить всё

    private class MyStoredProcedure extends StoredProcedure
{
public MyStoredProcedure(JdbcTemplate argJdbcTemplate)
{
super(argJdbcTemplate, "PRC_GET_USERS_BY_SECTION");
declareParameter(new SqlOutParameter("output", OracleTypes.CURSOR));
declareParameter(new SqlParameter("input1", Types.VARCHAR));
declareParameter(new SqlParameter("input2", Types.VARCHAR));
compile();
}

public Map execute() {

Map inParams = new HashMap();
inParams.put("input1", "BG");
inParams.put("input2", "FE");
Map output = execute(inParams);
return output;
}
}
Я вызываю это в методе одного из моих классов DAO

Код: Выделить всё

    public List getUserListFromProcedure() throws BatchManagerException
{
MyStoredProcedure sp = new MyStoredProcedure( this.jdbcTemplate );
Map result = new HashMap();
try
{
result = sp.execute();
}

catch( DataAccessException dae)
{

}
System.out.println(result.size());
return null;
}
Однако размер карты всегда равен 0, поэтому ничего не возвращается. Я знаю, что в базе данных есть строки, соответствующие моим критериям ввода. Также у меня был рабочий код, который использовал java.sql.CallableStatement для взаимодействия с хранимой процедурой Oracle - так что процедура хороша. Неправильно ли смешивать OraceleTypes.CURSOR со хранимой процедурой Spring? Что еще я могу использовать? Я также попробовал SqlReturnResultSet, и это тоже не сработало.

Подробнее здесь: https://stackoverflow.com/questions/215 ... ways-empty
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «JAVA»