ファイル ベースのドライバー診断の例
ファイル ベースのドライバーは、ODBC ドライバーとデータ ソースの両方として機能します。 そのため、ODBC 接続のコンポーネントとして、およびデータ ソースとしてエラーと警告を生成できます。 ドライバー マネージャーとインターフェイスするコンポーネントでもあるため、SQLGetDiagRec の引数を書式設定して返します。
たとえば、dBASE の Microsoft ドライバーで十分なメモリを割り当てられなかった場合、SQLGetDiagRec から次の値が返されることがあります。
SQLSTATE: "HY001"
Native Error: 42052
Diagnostic Msg: "[Microsoft][ODBC dBASE Driver]Unable to allocate sufficient memory."
このエラーはデータ ソースに関連していないため、ドライバーはベンダー ([Microsoft]) とドライバー ([ODBC dBASE ドライバー]) の診断メッセージにのみプレフィックスを追加しました。
ドライバーが Employee.dbf ファイルを見つけられなかった場合は、SQLGetDiagRec から次の値を返す可能性があります。
SQLSTATE: "42S02"
Native Error: -1305
Diagnostic Msg: "[Microsoft][ODBC dBASE Driver][dBASE]No such table or object"
このエラーはデータ ソースに関連していたため、ドライバーはデータ ソース ([dBASE]) のファイル形式を診断メッセージのプレフィックスとして追加しました。 ドライバーはデータ ソースとインターフェイスするコンポーネントでもあり、ベンダー ([Microsoft]) とドライバー ([ODBC dBASE Driver]) のプレフィックスを追加しました。