次の方法で共有


診断レコード

各環境、接続、ステートメント、および記述子ハンドルに関連付けられるのは 診断レコードです。 これらのレコードには、特定のハンドルを使用した最後に呼び出された関数に関する診断情報が含まれています。 レコードは、そのハンドルを使用して別の関数が呼び出された場合にのみ置き換えられます。 一度に格納できる診断レコードの数に制限はありません。

診断レコードには、 ヘッダー レコードと 0 個以上の 状態レコードの 2 種類があります。 ヘッダー レコードはレコード 0 です。ステータス レコードはレコード 1 以上です。 診断レコードは、ヘッダー レコードとステータス レコードごとに異なる複数の個別のフィールドで構成されます。 さらに、ODBC コンポーネントでは、独自の診断レコード フィールドを定義できます。

診断レコードは構造体と考えることができますが、実際には構造である必要はありません。ドライバーが診断情報を格納する方法はドライバー固有です。

診断レコードのフィールドは 、SQLGetDiagField を使用して取得されます。 状態レコードの SQLSTATE、ネイティブ エラー番号、診断メッセージ フィールドは、 SQLGetDiagRec を使用して 1 回の呼び出しで取得できます。

このセクションでは、次のトピックを扱います。