Вопрос

Я ищу инструмент, который записывает операторы 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.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top