powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / Почему виснет executeUpdate
11 сообщений из 11, страница 1 из 1
Почему виснет executeUpdate
    #33322892
Ф
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ф
Гость
Незнаю уже что делать.

Есть следующий код:

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
 try  {
  s = url;
  System.out.println("Connecting string: " + s);
  strUser = "ora";
  strPass = "ora92";
  System.out.println("User: " + strUser + ", Password: " + strPass);
  Connection cn = DriverManager.getConnection (s, strUser, strPass);
  cn.setAutoCommit(false);				
  Statement st = cn.createStatement();

  st.executeUpdate("UPDATE holidays SET holiday_id = 2");

  cn.commit();								

  st.close();
  cn.close();
}  catch  (SQLException se) {
  System.out.println("DB connection Error");
  se.printStackTrace();
   return ;
}  finally  {
  System.out.println("All that happened"); 
}

Проблема в том, что когда выполнение доходит до срочки executeUpdate, программа зависает на строчке вызова executeUpdate даже не выбросив эксепшн.

Кто знает в чем дело, подскажите.
...
Рейтинг: 0 / 0
Почему виснет executeUpdate
    #33322918
Фотография Denis Popov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ф wrote:

> Проблема в том, что когда выполнение доходит до срочки executeUpdate,
> программа зависает на строчке вызова executeUpdate даже не выбросив эксепшн.
>

Может висит на оракловой блокировке, кто-то еще меняет эту таблицу - у тебя в запросе меняются все
ее записи.
Posted via ActualForum NNTP Server 1.3
...
Рейтинг: 0 / 0
Почему виснет executeUpdate
    #33322942
Ф
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ф
Гость
Нет не все, одна запись, одно поле.
...
Рейтинг: 0 / 0
Почему виснет executeUpdate
    #33322966
Фотография Denis Popov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
st.executeUpdate("UPDATE holidays SET holiday_id = 2");
Меняются все записи в таблице, а сколько их там - я не знаю. В любом случае можно глянуть на оракловые блокировки.
...
Рейтинг: 0 / 0
Почему виснет executeUpdate
    #33322989
wessen
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Denis Popov
Ф wrote:

> Проблема в том, что когда выполнение доходит до срочки executeUpdate,
> программа зависает на строчке вызова executeUpdate даже не выбросив эксепшн.
>

Может висит на оракловой блокировке, кто-то еще меняет эту таблицу - у тебя в запросе меняются все
ее записи.
Posted via ActualForum NNTP Server 1.3

а как вы догадались, что речь именно об Оракл? :)
...
Рейтинг: 0 / 0
Почему виснет executeUpdate
    #33323005
Naug
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Что-то выдавало Оракл. То ли скорость ответов, то ли размер базы, то ли пароль ora92...
...
Рейтинг: 0 / 0
Почему виснет executeUpdate
    #33323167
Ф
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ф
Гость
Denis Popov
Код: plaintext
st.executeUpdate("UPDATE holidays SET holiday_id = 2");
Меняются все записи в таблице, а сколько их там - я не знаю. В любом случае можно глянуть на оракловые блокировки.

Да меняются все записи, но если дапоставить "WHERE" то запрос отрабатывается нормально, но в базе реально ничего не изменяется, поле holiday_id не меняется на 2.
...
Рейтинг: 0 / 0
Почему виснет executeUpdate
    #33323221
Фотография Denis Popov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Чудес не бывает:)
Код: 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.
Connection con =  null ;
Statement st =  null ;
ResultSet rs =  null ;
 try  {
  DriverManager.registerDriver( new  oracle.jdbc.OracleDriver());
  con = DriverManager.getConnection(SERVER, USERNAME, PASSWORD);
  con.setAutoCommit(false);
  st = con.createStatement();
   try  {
    st.execute("drop table tmp_holidays");
  }  catch  (SQLException e) {}
  st.execute("create table tmp_holidays (holiday_id number(9))");
  st.executeUpdate("insert into tmp_holidays (holiday_id) select empno from scott.emp");
  rs = st.executeQuery("select holiday_id from tmp_holidays");
   while  (rs.next()) {
    System.out.println(rs.getString("holiday_id"));
  }
  System.out.println("\n---------------\n");

  st.executeUpdate("UPDATE tmp_holidays SET holiday_id = 2");
  con.commit();
  rs = st.executeQuery("select holiday_id from tmp_holidays");
   while  (rs.next()) {
    System.out.println(rs.getString("holiday_id"));
  }
}  finally  {
   if  (rs !=  null ) { rs.close(); }
   if  (st !=  null ) { st.close(); }
   if  (con !=  null ) { con.close(); }
}

Обновляет? Погляди на оракловые блокировки в момент отработки executeUpdate().
...
Рейтинг: 0 / 0
Почему виснет executeUpdate
    #33323224
Ф
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ф
Гость
Попробывал подключиться к другой базе все стало нормально, изменения коммитятся, а на этой нихочет почему-то!
...
Рейтинг: 0 / 0
Почему виснет executeUpdate
    #33323304
Фотография DarkSquid
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ФПопробывал подключиться к другой базе все стало нормально, изменения коммитятся, а на этой нихочет почему-то!

На "этой" базе commit сделай в той аппликухе, откуда таблицу смотришь.
...
Рейтинг: 0 / 0
Почему виснет executeUpdate
    #33324121
Alexey Turn
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
У меня была такая же проблема.
Сейчас плохо помню, возможно на этом же форуме постил либо на релибе.
Смутно припоминаю что было не все в порядке с драйверами.
...
Рейтинг: 0 / 0
11 сообщений из 11, страница 1 из 1
Форумы / Java [игнор отключен] [закрыт для гостей] / Почему виснет executeUpdate
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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