Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Package "NULLID.SYSLN303 0X5359534C564C3031" was not found
|
|||
|---|---|---|---|
|
#18+
Здравствуйте всем! При выполнении одного из запросов в приложении на WAS v6 возникает исключение Код: plaintext СУБД (DB2 8.1.14) и используемая база после возникновения исключения функционируют в прежнем режиме. Это показало другое приложение, работающее с этой же базой с другого сервера приложений. Помогает только перезагрузка сервера WAS. В чём проблема? С уважением, Семен Попов ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.10.2008, 12:30 |
|
||
|
Package "NULLID.SYSLN303 0X5359534C564C3031" was not found
|
|||
|---|---|---|---|
|
#18+
Добавлю. Этот проблемный запрос выполняю из редактора команд DB2. Он выполняется успешно. А вот из приложения валится в исключение, после чего все запросы приложения перестают работать. Предполагаю, что валится пул соединений. Помогает только перезагрузка сервера WAS. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.10.2008, 12:49 |
|
||
|
Package "NULLID.SYSLN303 0X5359534C564C3031" was not found
|
|||
|---|---|---|---|
|
#18+
Здравствуйте. Из командной строки (db2cmd для windows) админом базы после соединения, находясь в каталоге .../sqllib/bnd сделайте: Код: plaintext ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.10.2008, 12:53 |
|
||
|
Package "NULLID.SYSLN303 0X5359534C564C3031" was not found
|
|||
|---|---|---|---|
|
#18+
Mark BarinsteinЗдравствуйте. Из командной строки (db2cmd для windows) админом базы после соединения, находясь в каталоге .../sqllib/bnd сделайте: Код: plaintext Должен уточнить. База приложения и сервер WAS находятся на разных серверах. Причём, WAS установлен на машине с ОС Windows, а DB2 на машине с ОС Linux. Хотя, на сервере с WAS СУБД DB2 также установлена. Ваш скрипт запускал в папке .../sqllib/bnd на машине, где установлен WAS. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.10.2008, 14:25 |
|
||
|
Package "NULLID.SYSLN303 0X5359534C564C3031" was not found
|
|||
|---|---|---|---|
|
#18+
Semen PopovMark BarinsteinЗдравствуйте. Из командной строки (db2cmd для windows) админом базы после соединения, находясь в каталоге .../sqllib/bnd сделайте: Код: plaintext Должен уточнить. База приложения и сервер WAS находятся на разных серверах. Причём, WAS установлен на машине с ОС Windows, а DB2 на машине с ОС Linux. Хотя, на сервере с WAS СУБД DB2 также установлена. Ваш скрипт запускал в папке .../sqllib/bnd на машине, где установлен WAS.Вам надо было запустить эту команду при соединении с той базой, в которой приложение ошибку получало. Что возвращает в этой базе после bind запрос: Код: plaintext 1. 2. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.10.2008, 14:43 |
|
||
|
Package "NULLID.SYSLN303 0X5359534C564C3031" was not found
|
|||
|---|---|---|---|
|
#18+
Mark BarinsteinВам надо было запустить эту команду при соединении с той базой, в которой приложение ошибку получало.Вы просили запустить скрипт из каталога bnd. У меня их два. Первый - на машине с Windows (где установлен сервер WAS, там же установлен сервер DB2), а второй - на машине с Linux и еще одним DB2-сервером (где распологается рабочая база приложения). Скрипт выполнил в папке bnd на машине c WAS, но соединялся с рабочей базой. Mark BarinsteinЧто возвращает в этой базе после bind запрос: Код: plaintext 1. 2. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.10.2008, 15:07 |
|
||
|
Package "NULLID.SYSLN303 0X5359534C564C3031" was not found
|
|||
|---|---|---|---|
|
#18+
Semen 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. 31. 32. 33. 34. 35. 36. 37. 38. 39. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.10.2008, 15:10 |
|
||
|
Package "NULLID.SYSLN303 0X5359534C564C3031" was not found
|
|||
|---|---|---|---|
|
#18+
И что, ошибка в приложении всё ещё появляется? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.10.2008, 15:37 |
|
||
|
Package "NULLID.SYSLN303 0X5359534C564C3031" was not found
|
|||
|---|---|---|---|
|
#18+
Mark BarinsteinИ что, ошибка в приложении всё ещё появляется?Проблема осталась. А вот исключение уже другое выдаёт: Код: plaintext ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.10.2008, 16:07 |
|
||
|
Package "NULLID.SYSLN303 0X5359534C564C3031" was not found
|
|||
|---|---|---|---|
|
#18+
Semen PopovMark BarinsteinИ что, ошибка в приложении всё ещё появляется?Проблема осталась. А вот исключение уже другое выдаёт: Код: plaintext db2 "? SQL954 " ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.10.2008, 16:49 |
|
||
|
Package "NULLID.SYSLN303 0X5359534C564C3031" was not found
|
|||
|---|---|---|---|
|
#18+
Mark BarinsteinУдобно, получив сообщение об ошибке, по её SQLCODE почитать, что делать: db2 "? SQL954"Огромное спасибо ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.10.2008, 17:11 |
|
||
|
Package "NULLID.SYSLN303 0X5359534C564C3031" was not found
|
|||
|---|---|---|---|
|
#18+
Я пытаюсь в базу писать записи взятые с другой базы. Естественно их там много, например 20 000. Т.е. я делаю INSERT в цикле 20 000 раз при малом количестве записей выходила ошибка описанная выше автор com.ibm.db2.jcc.b.SqlException: Package "NULLID.SYSLN309 0X5359534C564C3031" was not found от неё я избавился командой Код: plaintext Код: plaintext 1. Сам с db2 не очень и времени мало необходимо срочно решить. Спасибо!!! PS db2 на windows. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.05.2009, 03:32 |
|
||
|
Package "NULLID.SYSLN303 0X5359534C564C3031" was not found
|
|||
|---|---|---|---|
|
#18+
НиколахаЯ пытаюсь в базу писать записи взятые с другой базы. Естественно их там много, например 20 000. Т.е. я делаю INSERT в цикле 20 000 раз при малом количестве записей выходила ошибка описанная вышеВы параметризованный insert используете или insert с константами? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.05.2009, 09:33 |
|
||
|
Package "NULLID.SYSLN303 0X5359534C564C3031" was not found
|
|||
|---|---|---|---|
|
#18+
Mark BarinsteinВы параметризованный insert используете или insert с константами? Ну как бы не совсем инсерт!? Я вызываю хр. процедуру которая определяет есть ли там эта запись,если нет то записывает инсертом. Что значит с константами!? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.05.2009, 11:15 |
|
||
|
Package "NULLID.SYSLN303 0X5359534C564C3031" was not found
|
|||
|---|---|---|---|
|
#18+
НиколахаНу как бы не совсем инсерт!? Я вызываю хр. процедуру которая определяет есть ли там эта запись,если нет то записывает инсертом.Можете показать кусок кода, где вы это делаете? С такой проблемой борятся, либо увеличивая APPLHEAPSZ, либо исправляя код приложения, если одновременно открываются и не закрываются много стейтментов. Какая у вас версия db2 и фикспак? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.05.2009, 14:12 |
|
||
|
Package "NULLID.SYSLN303 0X5359534C564C3031" was not found
|
|||
|---|---|---|---|
|
#18+
Mark BarinsteinНиколахаНу как бы не совсем инсерт!? Я вызываю хр. процедуру которая определяет есть ли там эта запись,если нет то записывает инсертом.Можете показать кусок кода, где вы это делаете? С такой проблемой борятся, либо увеличивая APPLHEAPSZ, либо исправляя код приложения, если одновременно открываются и не закрываются много стейтментов. Какая у вас версия db2 и фикспак? Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. Если N-длина первого цикла = 200-300 раз, то работает. БД-1 и БД-2 физически на ходятся на разных серваках: БД-1 на линуксе, а БД-2 на винде 1-ый селект выполнаемый из БД-1 выполняется N раз и с ним всё нормально, а 2-ой апдэйт после 310 записей выдает ошибку и последующие запросы перестают работать. Вот описание метода execUpdate и execQuery: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. Возможно что вот этот участок кода не верен и тут создается много statement 'ов????????? Код: plaintext ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.05.2009, 15:35 |
|
||
|
Package "NULLID.SYSLN303 0X5359534C564C3031" was not found
|
|||
|---|---|---|---|
|
#18+
НиколахаВозможно что вот этот участок кода не верен и тут создается много statement 'ов????????? Код: plaintext Я настоятельно вам советую переписать это примерно так: Код: 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. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.05.2009, 16:09 |
|
||
|
Package "NULLID.SYSLN303 0X5359534C564C3031" was not found
|
|||
|---|---|---|---|
|
#18+
Код: plaintext 1. 2. 3. Блин, а я почему то понял, что он ЗАПРОС посто поверяет на правильность!!!! Ещё конечно не пробовал, но думаю прокатит. На работу приду проверю!!! Спасибо!!! Если что напишу!!! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.05.2009, 17:34 |
|
||
|
Package "NULLID.SYSLN303 0X5359534C564C3031" was not found
|
|||
|---|---|---|---|
|
#18+
Mark Barinstein Я настоятельно вам советую переписать это примерно так: Спасибо всё получилось. Я использовал PrepareStatement только в тех случаях когда выполнялись массовые операции и остался просто Statement в нек. местах и у меня появился вопрос! Т.к. это ВЕБ приложение и каждый юзер выполняет один запрос (предыдущий код я изменил и убрал постоянное создание стэйтментов): Код: plaintext 1. 2. 3. 4. 5. Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. Если я буду использовать PrepareStatement вместо Statement,то для запроса выполняемого N кол-ом пользователей создастся N PrepareStatement или один для всех юзеров. По коду видно что каждый юзер создает для себя свой Connector. http://java.sun.com/j2se/1.4.2/docs/api/java/sql/PreparedStatement.html A SQL statement is precompiled and stored in a PreparedStatement object. This object can then be used to efficiently execute this statement multiple times. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.05.2009, 06:24 |
|
||
|
Package "NULLID.SYSLN303 0X5359534C564C3031" was not found
|
|||
|---|---|---|---|
|
#18+
НиколахаЕсли я буду использовать PrepareStatement вместо Statement,то для запроса выполняемого N кол-ом пользователей создастся N PrepareStatement или один для всех юзеров. По коду видно что каждый юзер создает для себя свой Connector. http://java.sun.com/j2se/1.4.2/docs/api/java/sql/PreparedStatement.html A SQL statement is precompiled and stored in a PreparedStatement object. This object can then be used to efficiently execute this statement multiple times. Не важно, что вы будете использовать PreparedStatement или Statement - количество стейтментов только от этого выбора не изменится. PreparedStatement полезен только в том случае, если меняются только параметры от вызова к вызову, а не сам текст запроса. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.05.2009, 10:36 |
|
||
|
Package "NULLID.SYSLN303 0X5359534C564C3031" was not found
|
|||
|---|---|---|---|
|
#18+
PreparedStatement может быть эффективнее за счет того, что SQL-запрос кешируется а) в пуле соединений сервера приложений, б) в кеше SQL-операторов DB2. Но, чтобы SQL-оператор был взят из кеша, он должен посимвольно совпасть с текстом передаваемого запроса. Для Statement, если туда каждый раз "зашиваются" значения параметров, текст запроса каждый раз (при каждой новой комбинации параметров) будет разным, Для PreparedStatement c подстанвочными символами текст будет совпадать. Так что PreparedStatement нужно использовать, но смотреть при этом план доступа. Т.к. для конкретных значений параметров план доступа может существенно отличаться от плана доступа с абстрактными значениями параметров. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.05.2009, 11:18 |
|
||
|
Package "NULLID.SYSLN303 0X5359534C564C3031" was not found
|
|||
|---|---|---|---|
|
#18+
Доброе(ый) утро (день, вечер) !!! Mark BarinsteinНе важно, что вы будете использовать PreparedStatement или Statement - количество стейтментов только от этого выбора не изменится. PreparedStatement полезен только в том случае, если меняются только параметры от вызова к вызову, а не сам текст запроса. Да , это удобно. А если этот же запрос,прямо буковка в буковку, вызывает другое соединение!? Евгений Хабаров SQL-запрос кешируется а) в пуле соединений сервера приложений, б) в кеше SQL-операторов DB2. Но, чтобы SQL-оператор был взят из кеша, он должен посимвольно совпасть с текстом передаваемого запроса. Вероятно ли это!? Меня сейчас интересует вопрос производительности. В начале моих постов у меня была проблема. В БД записывались только 310 записей,т.к. по коду видно что каждый раз создавался Statement, соответственно есть вероятность, что 400 юзеров создадут 400 соединений и соответственно 400 Statement'ов и будет ERROR !? Может я ошибаюсь!?!?!?!? Спасибо за Ваши ответы!!! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.05.2009, 03:45 |
|
||
|
Package "NULLID.SYSLN303 0X5359534C564C3031" was not found
|
|||
|---|---|---|---|
|
#18+
Николаха, Ваша проблема была в том, что одно соединение создавало много стейтментов. Именно из-за этого, скорее всего, и переполнялся APPLHEAPSZ. Что касается стейтментов, то у db2 есть package cache, в котором хранятся скомпилированные sql команды. Если в этом кэше есть уже стейтмент (не важно с параметрами или без), который посылает даже другой пользователь, то новый план запроса не создаётся, а берётся из этого кэша. В v9.7 будет возможность использовать statement concentrator - оно сможет распознавать стейтменты, которые отличаются только параметрами, и использовать (и хранить в кэше) единый план запроса для них. Пока же, если текст запроса отличается, он будет компилироваться и отдельно храниться в кэше. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.05.2009, 09:55 |
|
||
|
|

start [/forum/topic.php?fid=43&msg=35608873&tid=1603230]: |
0ms |
get settings: |
11ms |
get forum list: |
14ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
178ms |
get topic data: |
10ms |
get forum data: |
3ms |
get page messages: |
53ms |
get tp. blocked users: |
1ms |
| others: | 15ms |
| total: | 293ms |

| 0 / 0 |
