![]() |
Модераторы: LSD, AntonSaburov |
![]() ![]() ![]() |
|
Zhenyusya |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 58 Регистрация: 14.8.2008 Где: Барнаул Репутация: нет Всего: нет |
Помогите, пожааалста!! В работе с томкатом я, мягко сказать, не гуру. Однако запустили в промышленную эксплуатацию ПК на нем (даже без опытной: сроки поджимают).
Две недели все работало нормально, ды были ошибки, но томкат не падал. А последние 3 дня кошмар какой-то. Над ошибками, конечно, работаем, но и у пользователей сроки поджимают. Сегодня, например, томкат упал около 30 раз!! В логах я ничего супер криминального не вижу (раньше и с такими как-то работало). Может ли вообще из-за одного exception'a упасть томкат?? Люди, ну очень нада!! ![]() Вот мои логи. Мож кто раскроет мне глаза... Присоединённый файл ( Кол-во скачиваний: 8 ) ![]() |
|||
|
||||
eros2 |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 50 Регистрация: 31.5.2010 Репутация: нет Всего: нет |
Ищите в каталоге томката файлы hs_err_pid*.log.
В них инфа о вылетах, видно в какой длл-ке умерло. См. http://java.sun.com/javase/6/webnotes/trou...ml/crashes.html Не используете ли для доступа к БД jdbc-odbc бридж? Это слабое звено. Ну вопщем ищите hs_err_pid-ы и показывайте что у вас там. |
|||
|
||||
Zhenyusya |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 58 Регистрация: 14.8.2008 Где: Барнаул Репутация: нет Всего: нет |
jdbc-odbc бридж действительно использую, но раньше никаких проблем с этим не возникало, и потом, без него совсем никак не получается: я раньше здесь просила хэлпа по поводу того, что драйвер db2java.jar работает в desctop и никак не хочет в web application. Ответа не нашлось.
А вот мои hs_err_pid*.log и пара классов, в которых возникают ошибки. В чем проблема тож не понему. Во всех хз_ерр есть это: C [ntdll.dll+0x7eeb] C [ODBC32.dll+0x8b14] Чего сделать, чтобы избавиться?? ![]() ![]() Это сообщение отредактировал(а) Zhenyusya - 17.6.2010, 05:41 Присоединённый файл ( Кол-во скачиваний: 1 ) ![]() |
|||
|
||||
dobrolub |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 385 Регистрация: 18.12.2009 Где: Vancouver, Canada Репутация: 4 Всего: 16 |
используя JDBC Type 4 driver
jar: db2jcc.jar, db2jcc_license_cu.jar driver-class: com.ibm.db2.jcc.DB2Driver url: jdbc:db2://server:port/database используя JDBC Type 2 Driver требует полной инсталляций DB2 Clienta на серверной машине (JDBC 4 – только нужны jars) |
|||
|
||||
Zhenyusya |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 58 Регистрация: 14.8.2008 Где: Барнаул Репутация: нет Всего: нет |
Большое пасиба, использование данного драйвера и строки подключения помогло.
![]() ![]() Раньше не указывала имя сервера и порт, поэтому не арбайтало. Но возникла другая проблема: при вызове процедуры
возникает java.sql.Statement.executeQuery() was called but no result set was returned. Use java.sql.Statement.executeUpdate() for non-queries. Хотя результат 200% не пустой. А при выполнении обычного select'a работает нормально. В связи с тем, что у нас около 200 ХП переписывать на select'ы процедуры, порой длиной по 700 строк, не очень целесообразно (мягко говоря), СНОВА НУЖЕН ХЭЛП!!!!! |
|||
|
||||
dobrolub |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 385 Регистрация: 18.12.2009 Где: Vancouver, Canada Репутация: 4 Всего: 16 |
попробуй преобразовать так на одном, чтобы проверить:
|
|||
|
||||
eros2 |
|
||||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 50 Регистрация: 31.5.2010 Репутация: нет Всего: нет |
Ну вопщем вы видите что падает в ODBC. Что и ожидалось. Выходы: 1. Использовать Type4 JDBC-драйвер как вам уже советуют. Это хороший и правильный способ. 2. Есть ещё плохой способ, его следует использовать только если нормального драйвера нет. Нужно взять VJDBC и настроить его на этой же машине (или на другой) отдельной программой в виде сервера, причём так, чтоб если он вылетит - запустился опять. Т.е. тупо в батнике:
И его же драйвер заюзать внутри томката как клиента. Тогда падать будет внешний процесс и благодаря батнику снова будет перезапускаться. Вопщем, некоторые запросы отрабатывать не будут, но зато сам томкат не упадёт. Но, повторюсь, это способ на крайний случай, нужно юзать нормальный драйвер, тогда и проблем не будет. |
||||
|
|||||
Zhenyusya |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 58 Регистрация: 14.8.2008 Где: Барнаул Репутация: нет Всего: нет |
Вот это st_db2.getResultSet(); возвращает null
|
|||
|
||||
eros2 |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 50 Регистрация: 31.5.2010 Репутация: нет Всего: нет |
Если проблемы с драйвером - можно временно настроить VJDBC и по крайней мере избавиться от падений, а потом переделать программу чтоб она дружила с нормальным драйвером.
Что касается невозвращаемого resultset - то, возможно, нужно регистрировать output параметры У нас, например (с ораклом) это примерно так:
|
|||
|
||||
Zhenyusya |
|
||||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 58 Регистрация: 14.8.2008 Где: Барнаул Репутация: нет Всего: нет |
Процедуры с out-параметрами работают нормально
а вот resultset никак не хочет
И через jdbc-odbc resultset возвращался как оно написано |
||||
|
|||||
eros2 |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 50 Регистрация: 31.5.2010 Репутация: нет Всего: нет |
Однако jdbc-odbc имеет свойство падать. |
|||
|
||||
Zhenyusya |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 58 Регистрация: 14.8.2008 Где: Барнаул Репутация: нет Всего: нет |
Это-то да, только что сделать, чтобы resultset вернулся??
Я про "И через jdbc-odbc resultset возвращался как оно написано" к тому, что resultset не нужно регистрировать Лююди, ну поможите же кто-нибудь !!!!! ![]() ![]() Это сообщение отредактировал(а) Zhenyusya - 17.6.2010, 12:52 |
|||
|
||||
dobrolub |
|
||||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 385 Регистрация: 18.12.2009 Где: Vancouver, Canada Репутация: 4 Всего: 16 |
Посмотри как процедуры задекларированы, возможно проблема в этом. В коде внизу, обрати внимание на строку 2.
В java, попробуй вот что:
|
||||
|
|||||
Zhenyusya |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 58 Регистрация: 14.8.2008 Где: Барнаул Репутация: нет Всего: нет |
Да, да, да!!
![]() Все дело было в
Странное дело, почему вызов процедуры в Центре управления DB2 и через ODBC-источник возвращает результат не null-иковский и без этого!? Это сообщение отредактировал(а) Zhenyusya - 18.6.2010, 04:31 |
|||
|
||||
![]() ![]() ![]() |
Правила форума "Java" | |
|
Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, tux. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Java EE (J2EE) и Spring | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |