Как я могу увидеть SQL-заявления в EJB 2.1 с CMP - PullRequest
0 голосов
/ 06 марта 2012

У меня есть старый проект EJB 2.1, использующий DB2 в качестве базы данных.
Я хочу увидеть sql запросы, отправленные программой в базу данных.Как я могу это сделать.Я использую DB2.Постоянство - это управляемое контейнером постоянство. (CMP)

В Hibernate есть что-то вроде <property name="hibernate.show_sql" value="true"/> Я хочу получить тот же эффект.: -)

1 Ответ

0 голосов
/ 08 марта 2012

Если вы не найдете подходящую опцию для захвата SQL со своего уровня персистентности, DB2 предлагает несколько мощных опций трассировки на уровне драйвера и на сервере базы данных.У каждого подхода есть свои плюсы и минусы.

Поскольку вы охарактеризовали проект EJB как старый, вполне возможно, что ваш уровень персистентности использует драйвер IBM JDBC Type 2, который, по сути, является оболочкой для интерфейса уровня вызовов DB2., в этом случае вам нужно будет включить опции трассировки в файле db2cli.ini.

Более новым и популярным драйвером является «универсальный драйвер» JDBC Type 4, db2jcc.jar, который обрабатывает трассировку черезсвойства, которые могут быть добавлены к строке подключения и / или установлены приложением во время выполнения.

Поскольку я работаю больше с базами данных, чем с серверами приложений, я лично предпочитаю захват SQL, чтобы определить монитор событий оператора,который захватывает операторы SQL и подробную статистику в плоский файл или набор выделенных таблиц.Мониторы событий предлагают различные механизмы фильтрации, которые позволяют собирать подробные записи трассировки только для небольшой части вашей общей рабочей нагрузки.Еще один привлекательный аспект мониторов событий заключается в том, что администратор базы данных может запускать или останавливать их, не прерывая работу сервера приложений.Поскольку мониторы событий могут быстро собирать большое количество данных, я предпочитаю использовать таблицы в качестве целевых объектов монитора событий, потому что я могу легко анализировать результаты с помощью нескольких запросов SQL.

...