ODBCトレースを採取することによって、ODBCアプリケーションが行ったODBC関数呼び出しのログを作成することができます。
以下にODBCトレースの採取手順を示します。
Windows(R)のコントロールパネルから、ODBCを実行します。
[トレース]タブを選択します。
ログファイルのパスやファイル名を変更する場合は、[ログファイルのパス]のテキストボックスに任意の文字列を入力します。
[トレースの開始]ボタンをクリックします。
このボタンをクリックすると[トレースの停止]ボタンに変わります。トレースを停止する場合は、このボタンをクリックします。
なお、トレースが行われていると、ログファイルの容量は増加し続けます。また、ODBCアプリケーションのパフォーマンスが低下しますので、必要な場合以外は使用しないでください。
トレース開始後、ODBCアプリケーションを実行するとログファイルが作成されます。以下にODBCトレースのログファイルの例を示します。
: : ODBCTE32 107:f2 ENTER SQLExecDirect ----------------------------------------- (1) HSTMT 0x00d31b30 UCHAR * 0x001580b0 [ 38] "SELECT COL2 FROM TABLE1 WHERE COL1=?" ----- (2) SDWORD 36 ODBCTE32 107:f2 EXIT SQLExecDirect with return code -1 (SQL_ERROR) -------------- (3) HSTMT 0x00d31b30 UCHAR * 0x001560b0 [ 36] "SELECT COL2 FROM TABLE1 WHERE COL1=?" SDWORD 36 DIAG [07001] [SymforeWARE ODBC Driver] JYP9622E パラメタまたは列の設定情報に ----- (4) 誤りがあるためデータの設定または取得ができません. (-9822) ODBCTE32 107:f2 ENTER SQLGetDiagRecW SQLSMALLINT 3 SQLHANDLE 0x00d31b30 SQLSMALLINT 1 SQLQWCHR * 0x0012f6cc (NYI) SQLINTEGER * 0x0012f720 SQLWCHAR * 0x00d322a8 (NYI) SQLSMALLINT * 512 SQLSMALLINT * 0x0012f716 ODBCTE32 107:f2 ENTER SQLGetDiagRecW with return code 0 (SQL_SUCCESS) SQLSMALLINT 3 SQLHANDLE 0x00d31b30 SQLSMALLINT 1 SQLQWCHR * 0x0012f6cc (NYI) SQLINTEGER * 0x0012f720 (-9622) SQLWCHAR * 0x00d322a8 (NYI) SQLSMALLINT * 512 SQLSMALLINT * 0x0012f716 (72) : :
(1) 呼び出されたODBC関数名
(2) ODBC関数が呼び出されたときの引数
(3) ODBC関数名とその関数の復帰値
(4) ODBC関数がSQL_ERRORを返却したときのSQLSTATE値とメッセージコードおよびエラーメッセージ