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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> PrepareStatement, строка запроса 
:(
    Опции темы
Pantein
Дата 25.10.2005, 23:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Java developer



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

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



Подскажите как вытянуть строку запроса из уже сформированного объекта PrepareStatement перед ее выполнением, просто без этого никак невозможно определить целостность sql-запроса...может есть какой-нибудь нормальный метод, может каких сторонних производителей...
PM MAIL WWW   Вверх
Guest
Дата 26.10.2005, 00:29 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











Можно над Connection свою обертку сделать.
  Вверх
Pantein
Дата 26.10.2005, 10:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Java developer



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

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



такой вариант не подхолит только даже из-за того, что придется рефакторить большой объем кода , а это недопустимо в моем случае.
PM MAIL WWW   Вверх
pvo
Дата 26.10.2005, 11:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



Цитата(Pantein @ 25.10.2005, 23:49)
определить целостность sql-запроса

А что под этим понимается?
PM MAIL ICQ   Вверх
Pantein
Дата 26.10.2005, 12:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Java developer



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

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



Цитата
А что под этим понимается?


просто скорее всего создается плохая строка, при попытке выполнения которой все обрывается (почти 100%) -- вот и нужно посмотреть этот запрос (саму строку) и определить "битые" места.
PM MAIL WWW   Вверх
LSD
Дата 26.10.2005, 12:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Leprechaun Software Developer
****


Профиль
Группа: Модератор
Сообщений: 15719
Регистрация: 24.3.2004
Где: Dublin

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



Цитата(Pantein @ 26.10.2005, 13:50)
просто скорее всего создается плохая строка, при попытке выполнения которой все обрывается (почти 100%) -- вот и нужно посмотреть этот запрос (саму строку) и определить "битые" места.


1. Смотреть логи самой базы (если поддерживатеся).
2. Попробовать Connection.nativeSQL().


--------------------
Disclaimer: this post contains explicit depictions of personal opinion. So, if it sounds sarcastic, don't take it seriously. If it sounds dangerous, do not try this at home or at all. And if it offends you, just don't read it.
PM MAIL WWW   Вверх
3,14
Дата 26.10.2005, 13:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник Клуба
Сообщений: 1614
Регистрация: 18.6.2004
Где: Н. Новгород

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



Pantein, пронаследуй PreparedStatement, переопредели методы execute, executeQuery и executeUpdate, в случае Exception-а, выводи сообщения в лог, и кидай исключение выше.


--------------------
Может быть, это только мой бред,
Может быть, жизнь не так хороша,
Может быть, я не выйду на свет,
Но я летал, когда пела душа...
PM MAIL   Вверх
pvo
Дата 26.10.2005, 13:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



Цитата(3)
пронаследуй PreparedStatement

Так это ж интерфейс. Нужно обертку писать, а чела ломает это делать. Причем оберток д.б. 2 - одна над Connection, а другая над PreparedStatement


Pantein Можно еще попробовать поиграться с DriverManager.setLogWriter()
PM MAIL ICQ   Вверх
Pantein
Дата 26.10.2005, 14:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Java developer



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

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



Спасибо за советы, но меня не то чтобы ломает это все писать, я же говорю, просто есть сейчас довольно большой проект, и получается придется достаточно много кода рефакторить, что немного не позволительно в данном случае, ведь работаю я над проектом не один.

... нашел тут непохую идею -- log4j (правда нормально его настроить это что-то, пишет слишком большие логи 5 мег где-то в минуту), но лучше наверное использовать (как мне подсказади) p6spy (правда еще не пробовал). в принципе проблему разрешил, спасибо всем за советы.
PM MAIL WWW   Вверх
3,14
Дата 27.10.2005, 09:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник Клуба
Сообщений: 1614
Регистрация: 18.6.2004
Где: Н. Новгород

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



Цитата(pvo @ 26.10.2005, 13:19)
Цитата (3 @ 14, 26.10.2005, 13:00)
пронаследуй PreparedStatement

Так это ж интерфейс. Нужно обертку писать, а чела ломает это делать. Причем оберток д.б. 2 - одна над Connection, а другая над PreparedStatement

Да, конечно, именно обёртки

Цитата(Pantein @ 26.10.2005, 14:20)
и получается придется достаточно много кода рефакторить

А ты скажи из-за чего придётся менять код, глядишь и придумаем решение, которое не потребует особых изменений.


--------------------
Может быть, это только мой бред,
Может быть, жизнь не так хороша,
Может быть, я не выйду на свет,
Но я летал, когда пела душа...
PM MAIL   Вверх
KostenkoSergey
Дата 31.10.2005, 16:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



если ЕЕ - может подойдут системы мониторинга.. типа Optimized ServerTrace от Borland - его юзал- всё замурчательно видно, и какие запросы, и где ошибки и где соединения не закрыты ...

слышал также про JProbe

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

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

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


 




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


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

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