1

ODBC Log に次の行があります。

(シナリオ: pgAdmin4、System Administration という名前の別のアプリケーションで ODBC32 を介して PostgreSQL サーバーを使用)

System Admi 6a0-6f8 ENTER SQLExecDirect 
        HSTMT               0x00630718
        UCHAR *             0x036B29C0 [      63] "create table new (npages integer, ifnds integer, ifnid integer)"
        SDWORD                    63

HSTMTUCHAR*およびの意味を知る必要がありSDWORDます。それらの横にある数字は何を意味しますか?

4

2 に答える 2

1

これはODBCトレースの記録です

ステートメント ハンドル 0x00630718 を持つプロシージャ "SQLExecDirect" があり、テキスト パラメーター (ポインターとして渡される) は "create table ..." であり、最後のパラメーターはテキストのサイズ (単語型として渡される) です。MSDOC で 関連する返信を参照してください。HSTMT, UCHAR,SDWORDSは、C、C++ MS Windows API で使用されるデータ型です。

于 2016-12-26T07:31:03.857 に答える
1

記事「Everything You Want To Know About ODBC Tracing」から

トレース ログでは、ハンドルのデータ型が SQLHANDLEHENV / SQLHENV、 HDBC / SQLHDBCHSTMT / SQLHSTMTであることがわかります。この値は、呼び出される特定の一連の項目に固有です。トレース ログでこのハンドル番号を検索すると、ハンドルで行われた各呼び出しが表示されます。これにより、エラー メッセージに関連するトレース ログ内の呼び出しのみを選択できます。アプリケーションによっては、複数のハンドルを作成する場合があることに注意してください。たとえば、アプリケーションが 3 つのステートメントを連続して実行し、それぞれが異なるステートメント ハンドルにあるとします。

例と詳細については、次の素敵なドキュメントに従ってください:-

ODBC トレース ファイル .rtf の読み取り方法

于 2016-12-26T07:34:21.880 に答える