4

ODBCを使用してデータベースに接続し、データベースを変更するサードパーティアプリケーションを使用しています。特定の障害モードでは、最終結果は私が期待するものではありません。それをよりよく理解するために、データベースに送信されたすべてのステートメントを検査する方法が必要です。ODBCでこれを行う方法はありますか?

JDBCを使用すると、http: //www.p6spy.com/を使用して、送信されたすべてのステートメントを確認できます。たとえば、休止状態をデバッグする場合などです。p6spyは、送信されたコマンドを記録して実際のJDBCドライバーに転送する「プロキシ」ドライバーです。

別の可能性は、ネットワークを介してステートメントをキャプチャするプロトコルスニファである可能性があります。ただし、ODBCに標準のワイヤプロトコルが含まれているのか、APIのみが指定されているのかはわかりません。

これらのいずれかを実行できる既存のツールを知っている人はいますか?あるいは、私が取ることができる別のアプローチはありますか?

4

3 に答える 3

1

ODBCは、ローカルドライバーがリモートデータベースと通信する方法ではなく、プログラムがローカルドライバーと通信する方法を指定します。あなたのプロキシドライバのアイデアは正しいです、あなたはただそれを見つける必要があります。

于 2010-04-20T02:41:13.423 に答える
1

ODBC に組み込まれているトレースを試しましたか? ODBC データ ソース アドミニストレーターには、[トレース] タブがあります。私が覚えているように、キャプチャされた情報はかなり冗長です。

于 2010-04-20T15:29:36.317 に答える
0

データベースが何であれ、SQL側でログを読む方が簡単だと思います。たとえば、SQL Serverでモニターをオンにしたり、MySQLでログを表示したりします。スニファを使用することは、それが価値があるよりも厄介であるように思われますが、それは利用可能なツールに依存すると思います。どのRDBMSを使用していますか?

于 2010-04-20T02:37:53.137 に答える