2012-03-06 4 views
0

データベースとしてDB2を使用する古いEJB 2.1プロジェクトがあります。
プログラムからデータベースに送信されたSQLクエリを確認したいと思います。どうやってやるの。私はDB2を使用しています。永続性はコンテナ管理の持続性です(CMPCMPを使用してEJB 2.1のSQL文を確認するには

休止状態では、<property name="hibernate.show_sql" value="true"/>と同じようなものがあります。

答えて

0

:-)あなたが永続化層からのSQLを取得するために適したオプションが見つからない場合は、DB2は、ドライバレベルで、データベースサーバー上のいくつかの強力なトレースオプションを提供しています。それぞれのアプローチには長所と短所があります。

EJBプロジェクトを古いものとして記述したので、永続性レイヤーがIBMのJDBCタイプ2ドライバーを使用している可能性があります。これは基本的にDB2のコール・レベル・インターフェースを包むラッパーです。 db2cli.iniファイルを使用してトレース・オプションを使用可能にします。

新しいタイプのドライバはJDBCタイプ4の「ユニバーサル・ドライバ」db2jcc.jarです。これは、接続文字列に追加でき、かつ/またはアプリケーションによって実行時に設定できるプロパティをトレースします。

私は、アプリケーション・サーバーと比べてデータベースと多くの作業するので、SQLを取得するための私の個人的な好みは、フラットファイルや専用テーブルのセットにSQL文と詳細な統計情報をキャプチャ声明・イベント・モニターを定義することです。イベント・モニターは、さまざまなフィルタリング・メカニズムを提供しています。これにより、全体のワークロードのごく一部にしか詳細なトレース・レコードを収集することができません。イベント・モニターのもう1つの魅力的な側面は、DBAがアプリケーション・サーバーを中断することなく、DBAを開始または停止できることです。イベント・モニターはすぐに大量のデータを収集できるので、私はいくつかのSQL照会で結果を簡単に分析できるので、表をイベント・モニターのターゲットとして使用することをお勧めします。

関連する問題