powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / CallableStatement и RollBack подскажите
4 сообщений из 4, страница 1 из 1
CallableStatement и RollBack подскажите
    #34110968
DIMA11
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ситуация следующая:
есть оракловская процедурка со входными и выходными параметрами, которую я вызываю следубщим образом:

String query = "declare " +
"id number; " +
"name_session varchar2(1024); " +
"name_end_text varchar2(5024); " +
"text_exit varchar2(1024); " +
"error_text varchar2(1024); " +
"BEGIN " +
"set_out_umd_no_type (?, 1, ?, name_session, " +
"?, text_exit, ?); END;";

CallableStatement cs;
String result;
try
{
cs = Conn.prepareCall(query);
cs.setString(1, proper);
cs.registerOutParameter(2, OracleTypes.NUMBER);
cs.registerOutParameter(3, OracleTypes.VARCHAR);
cs.registerOutParameter(4, OracleTypes.VARCHAR);
cs.execute();

String err = cs.getString(4);
if(!cs.wasNull())
{
long id = cs.getLong(2);
if (id > 0)
{
cs = Conn.prepareCall("Rollback");
cs.execute();

}
}
...
}
catch(SQLException e)
{
JOptionPane.showMessageDialog(null,
e.getMessage(), "SQLException",
JOptionPane.ERROR_MESSAGE);
return null;
}

При выполнении процедура меняет данные и в некоторых случаях необходим откат, который провожу как показано выше. НО!! отката не происходит!!
Подскажите, плиз, в чем моя ошибка.
...
Рейтинг: 0 / 0
CallableStatement и RollBack подскажите
    #34111040
DAA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
DAA
Гость
Может быть так?
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
CallableStatement cs;
String result;
 try  {

  Conn.setAutoCommit(false);

  cs = Conn.prepareCall(query);
  cs.setString( 1 , proper);
  cs.registerOutParameter( 2 , OracleTypes.NUMBER);
  cs.registerOutParameter( 3 , OracleTypes.VARCHAR);
  cs.registerOutParameter( 4 , OracleTypes.VARCHAR);
  cs.execute();

  String err = cs.getString( 4 );

   if (!cs.wasNull())
  {
     long  id = cs.getLong( 2 );
     if  (id >  0 ) {
      Conn.rollback();
    }  else  {
      Conn.commit();
    }
  }
...
}
 catch (SQLException e) {
  JOptionPane.showMessageDialog( null , e.getMessage(), "SQLException", JOptionPane.ERROR_MESSAGE);
   return   null ;
}
...
Рейтинг: 0 / 0
CallableStatement и RollBack подскажите
    #34111057
DIMA11
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DAA, спасибо. сейчас попробую...
...
Рейтинг: 0 / 0
CallableStatement и RollBack подскажите
    #34111084
DIMA11
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Проблема была как раз в наличии автокоммита!! Еще раз спасибо за совет.
...
Рейтинг: 0 / 0
4 сообщений из 4, страница 1 из 1
Форумы / Java [игнор отключен] [закрыт для гостей] / CallableStatement и RollBack подскажите
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]