Весна Без рубрики Исключение: ORA-01012 - PullRequest
1 голос
/ 08 января 2010

Я пытаюсь получить данные из базы данных Oracle, используя jdbc (ojdbc14.jar). У меня ограниченное число одновременных подключений при подключении к базе данных, и эти подключения управляются пулом подключений Websphere.

Иногда, когда я звоню, я вижу исключение UncategorizedSQLException, которое выдается в моих журналах с одним из следующих кодов оракула:

  • ORA-01012 (не авторизован) исключение
  • ORA-17410 (тайм-аут соединения, розетка пуста),
  • ORA-02396 превысил максимальное время простоя, пожалуйста, подключитесь снова

В других случаях я не получаю никаких исключений, и это прекрасно работает.

Кто-нибудь понимает, что здесь может происходить?

В Websphere у меня установлен размер оператора кеша, равный 10. Не уверен, что это уместно в этой ситуации, когда похоже, что соединение разрывается.

1 Ответ

3 голосов
/ 08 января 2010

Похоже, база данных решает сбросить соединение. Это хорошая идея, чтобы написать свой код таким образом, чтобы не требовалось вечное соединение. Лучший выбор - подключить программу к базе данных, выполнить свою работу и отключиться. Это устраняет проблему, связанную с решением базы данных отключить приложение из-за неактивности / перегрузки сервера / чего-либо еще, а программе необходимо выяснить это и сделать разумный удар при повторном подключении.

Надеюсь, это поможет.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...