ページの先頭行へ戻る
Symfoware Server V10.0.0 トラブルシューティング集

G.3 ODBCトレース

ODBCトレースを採取することによって、ODBCアプリケーションが行ったODBC関数呼び出しのログを作成することができます。

以下にODBCトレースの採取手順を示します。

  1. Windows(R)のコントロールパネルから、ODBCを実行します。

  2. [トレース]タブを選択します。

  3. ログファイルのパスやファイル名を変更する場合は、[ログファイルのパス]のテキストボックスに任意の文字列を入力します。

  4. [トレースの開始]ボタンをクリックします。
    このボタンをクリックすると[トレースの停止]ボタンに変わります。トレースを停止する場合は、このボタンをクリックします。

なお、トレースが行われていると、ログファイルの容量は増加し続けます。また、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値とメッセージコードおよびエラーメッセージ