ドライバーのロール
ドライバーは、ドライバー マネージャーによってチェックされていないすべてのエラーと警告をチェックし、生成された状態レコードを指示します。 (ODBC 2.x ドライバーは状態レコードを指示しません。) これには、データの切り捨て、データ変換、構文、一部の状態遷移のエラーと警告が含まれます。 ドライバーは、ドライバー マネージャーによって部分的にチェックされたエラーと警告を確認する場合もあります。 たとえば、ドライバー マネージャーは SQLSetPos のOperationの値が有効かどうかを確認しますが、ドライバーは、それがサポートされているかどうかを確認する必要があります。
また、ドライバーはネイティブ エラー (つまり、データ ソースによって返されるエラー) を SQLSTATEs にマップします。 たとえば、ドライバーは、SQLSTATE 42000 (構文エラーまたはアクセス違反) に無効な SQL 構文に対するさまざまなネイティブ エラーをマップする場合があります。 ドライバーは、状態レコードの SQL_DIAG_NATIVE フィールドにネイティブ エラー番号を返します。 ドライバーのドキュメントでは、エラーと警告がデータ ソースから SQLGetDiagRec および SQLGetDiagField の引数にどのようにマップされるかを示す必要があります。