ドライバー固有のデータ型、記述子の種類、情報の種類、診断型、および属性
ドライバーは、次のドライバー固有の値を割り当てることができます。
SQL データ型インジケーター これらは、SQLBindParameter の ParameterType および SQLGetTypeInfo の DataType で使用され、SQLColAttribute、SQLColumns、SQLDescribeCol、SQLGetTypeInfo、SQLDescribeParam、SQLProcedureColumns、および SQLSpecialColumns によって返されます。
記述子フィールドSQLColAttribute、SQLGetDescField および SQLSetDescField の FieldIdentifier で使用されます。
診断フィールドSQLGetDiagField および SQLGetDiagRec の DiagIdentifier で使用されます。
情報の種類 これらは、SQLGetInfo の InfoType で使用されます。
接続属性とステートメント 属性SQLGetConnectAttr、SQLGetStmtAttr、SQLSetConnectAttr および SQLSetStmtAttr の属性で使用されます。
これらの各項目には、ODBC で使用するために予約された値と、ドライバーで使用するために予約された値という 2 つの値のセットがあります。 ドライバー固有の値を実装する前に、ドライバーライターは、オープン グループからドライバー固有の型、フィールド、または属性ごとに値を要求する必要があります。 新しいドライバー開発の場合は、次の表で説明する範囲を使用します。 ODBC 3.8 ドライバー マネージャーでは、以下で説明する範囲内にない不明な値が使用されている場合、エラーは生成されません。 ただし、それ以降のバージョンのドライバー マネージャーでは、範囲内にない不明な値を受け取った場合にエラーが生成される可能性があります。
これらの値のいずれかが ODBC 関数に渡されると、ドライバーは値が有効かどうかを確認する必要があります。 ドライバーは、他のドライバーに適用されるドライバー固有の値の SQLSTATE HYC00 (オプション機能は実装されていません) を返します。
ODBC 3.8 以降では、ドライバー ライターは予約範囲内でドライバー固有の属性を割り当てることができます。
Note
ODBC 3.8 ドライバー マネージャーは、下位互換性のためにこれらの範囲を検証も適用もしません。 ただし、ドライバー マネージャーの将来のバージョンでは、それらを適用する可能性があります。
属性の型 | ODBC データ型 | ドライバー固有の範囲ベース | ドライバー固有の範囲の制限 | ドライバー固有の値範囲ベースの ODBC 定数 |
---|---|---|---|---|
SQL データ型インジケーター | SQLSMALLINT | 0x4000 | 0x7FFF | SQL_DRIVER_SQL_TYPE_BASE |
記述子フィールド | SQLSMALLINT | 0x4000 | 0x7FFF | SQL_DRIVER_DESCRIPTOR_BASE |
診断フィールド | SQLSMALLINT | 0x4000 | 0x7FFF | SQL_DRIVER_DIAGNOSTIC_BASE |
情報の種類 | SQLUSMALLINT | 0x4000 | 0x7FFF | SQL_DRIVER_INFO_TYPE_BASE |
接続属性 | SQLINTEGER | 0x00004000 | 0x00007FFF | SQL_DRIVER_CONNECT_ATTR_BASE |
ステートメント属性 | SQLINTEGER | 0x00004000 | 0x00007FFF | SQL_DRIVER_STATEMENT_ATTR_BASE |
Note
ドライバー固有のデータ型、記述子フィールド、診断フィールド、情報の種類、ステートメント属性、接続属性については、ドライバーのドキュメントで説明する必要があります。 これらの値のいずれかが ODBC 関数に渡されると、ドライバーは値が有効かどうかを確認する必要があります。 ドライバーは、他のドライバーに適用されるドライバー固有の値の SQLSTATE HYC00 (オプション機能は実装されていません) を返します。
基本値は、ドライバーの開発を容易にするために定義されます。 たとえば、ドライバー固有の診断属性は、次の形式で定義できます。
SQL_DRIVER_DIAGNOSTIC_BASE+0, SQL_DRIVER_DIAGNOSTIC_BASE +1
フィードバック
https://aka.ms/ContentUserFeedback」を参照してください。
以下は間もなく提供いたします。2024 年を通じて、コンテンツのフィードバック メカニズムとして GitHub の issue を段階的に廃止し、新しいフィードバック システムに置き換えます。 詳細については、「フィードバックの送信と表示