Модераторы: LSD, AntonSaburov
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Взаимодействие сервлета и бд 
V
    Опции темы
stalk37
Дата 8.6.2009, 13:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 16
Регистрация: 20.1.2008

Репутация: нет
Всего: нет



  Сервер приложений Glassfish бд Oracle 
  
  Такое впечатление что сервлет не отсылает запросы к бд а использует кешированный результат. 

  Т.е.  - через  SQL Developre  редактирую бд,  но при работе приложения все равно выходят старые данные. 

  С чем это может быть связано ? 
  
PM MAIL   Вверх
NeoNYura
Дата 8.6.2009, 14:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 60
Регистрация: 10.3.2008

Репутация: нет
Всего: нет



Ошибка в 35 строке.

а так попробуйте делать

commit(); 



PM MAIL   Вверх
Samotnik
Дата 8.6.2009, 17:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Super star !
****


Профиль
Группа: Awaiting Authorisation
Сообщений: 7192
Регистрация: 4.11.2006
Где: Минск City

Репутация: 5
Всего: 191



Цитата(stalk37 @  8.6.2009,  13:53 Найти цитируемый пост)
Такое впечатление что сервлет не отсылает запросы к бд а использует кешированный результат. 

Выложите хоть как вы это делаете, какая ошибка валится, а то вам тут на фразу
Цитата(stalk37 @  8.6.2009,  13:53 Найти цитируемый пост)
 Такое впечатление

сейчас так наотвечают  smile 
PM MAIL   Вверх
stalk37
Дата 9.6.2009, 09:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 16
Регистрация: 20.1.2008

Репутация: нет
Всего: нет



  Как делаю - просто 

 
Код

Context ctx = new InitialContext();
      Context env = (Context)ctx.lookup("java:comp/env");
      DataSource  ds = (DataSource)env.lookup("site");
      Connection conn = ds.getConnection();
      Statement stmt = conn.createStatement();
       ResultSet rset = stmt.executeQuery("select * from rs_menu t where t.enabled!=0 and t.align = 1 and t.layer=1 and (t.parent = 0 or t.parent in (select t.id from rs_menu t where t.enabled!=0 and t.align = 1 and t.layer=1 and t.parent=0)) order by t.position");





   В том то и дело - нет никаких ошибок(в смысле багов, эксепшенов), просто запрос возвращает данные которые были до модификации. 
  
  Тако впечатление - будто результат выборки просто где-то закешировался и используется.  
  Если остановить работу, то на следующий день  запрос вернет то что надо, до тех пор пока снова не придется в ручную отредактировать данные. 

PM MAIL   Вверх
MisterCleric
Дата 9.6.2009, 09:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1043
Регистрация: 16.2.2006
Где: Харьков, Украина

Репутация: 33
Всего: 38



Цитата

через  SQL Developre  редактирую бд


А commit Вы после этого вызываете в SQL Developre ?


--------------------
ПРИШЕЛ, УВИДЕЛ - ПЕРЕПИСАЛ...
PM MAIL ICQ   Вверх
stalk37
Дата 9.6.2009, 10:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 16
Регистрация: 20.1.2008

Репутация: нет
Всего: нет



Цитата

А commit Вы после этого вызываете в SQL Developre

 Т.е. ?
 Например, я в SQL Developre выполняю запрос типа 

 
Код

  update rs_menu  t set t.parent = 0  where t.id in (1,2,3,4)



 запрос проходит, делаю выборку - вижу что данные обновились.

 Запускаю приложение - используются старые даннные, до обновления. 

 И чтобы данные правильно отображались в приложении в SQL Developre нужно выполнить commit ? 

  
PM MAIL   Вверх
NeoNYura
Дата 9.6.2009, 10:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 60
Регистрация: 10.3.2008

Репутация: нет
Всего: нет



Без commit вы видите изменения только в своей сессии, на самом деле пока не нажата кнопка изменения в БД не произойдут.


То есть в sql developer выборка будет показываться

А для других пользователей/приложений изменения не будут видны пока вы не нажмете кнопку commit
PM MAIL   Вверх
MisterCleric
Дата 9.6.2009, 10:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1043
Регистрация: 16.2.2006
Где: Харьков, Украина

Репутация: 33
Всего: 38



Цитата

А для других пользователей/приложений изменения не будут видны пока вы не нажмете кнопку commit 


Ну я не думал, что нужно пояснять такие элементарные понятия, как сеанс работы с базой...


--------------------
ПРИШЕЛ, УВИДЕЛ - ПЕРЕПИСАЛ...
PM MAIL ICQ   Вверх
NeoNYura
Дата 9.6.2009, 10:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 60
Регистрация: 10.3.2008

Репутация: нет
Всего: нет



Цитата

Ну я не думал, что нужно пояснять такие элементарные понятия, как сеанс работы с базой...


Если не делается коммит, то наверно нужно smile 
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Java"
LSD   AntonSaburov
powerOn   tux
  • Прежде, чем задать вопрос, прочтите это!
  • Книги по Java собираются здесь.
  • Документация и ресурсы по Java находятся здесь.
  • Используйте теги [code=java][/code] для подсветки кода. Используйтe чекбокс "транслит", если у Вас нет русских шрифтов.
  • Помечайте свой вопрос как решённый, если на него получен ответ. Ссылка "Пометить как решённый" находится над первым постом.
  • Действия модераторов можно обсудить здесь.
  • FAQ раздела лежит здесь.

Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, tux.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Java EE (J2EE) и Spring | Следующая тема »


 




[ Время генерации скрипта: 0.0707 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.