Журналирование SQL в Websphere 6.1
Вопрос
Я ищу инструмент, который записывает операторы SQL в приложение, когда я его использую.
Я нашел p6spy.Но с этим есть проблема.Кажется, он несовместим с источниками данных XA.
Есть ли способ заставить p6spy работать на Websphere 6.1 ИЛИ есть ли альтернатива p6spy?
Кроме того, если у кого-нибудь есть код AspectJ, который перехватывает объект ReadedStatment и выгружает SQL, это тоже было бы здорово.
Решение
Это зависит от способа доступа к базе данных.Если вы используете Hibernate, вы можете заставить его выдавать свой SQL, если вы получаете доступ к источнику данных через WAS, вы можете использовать службу трассировки.Установите трассировку примерно так:
=информация:com.ibm.websphere.rsadapter.=деталь
И посмотрите, что вы из этого получите.
Другие советы
Драйверам JDBC не обязательно реализовывать функцию извлечения/распечатки операторов SQL.Честно говоря, я бы сделал это в базе данных.Все разумные продукты баз данных могут подробно регистрировать все, что поступает.Кроме того, в то же время вы можете получить дополнительную информацию, например планы выполнения и их влияние на сервер.
Кажется, я помню, что есть какой-то параметр, который вы можете добавить в конфигурацию URL-адреса jdbc и/или соединение.Подробностей не помню.
Вы должны изменить уровень трассировки в драйвере jdbc.Если вы используете DB2, измените пользовательские свойства для источника данных.
если вы используете Oracle, измените драйвер на ojbdc6_g.jar и измените свойства JVM.