SQLGetInfo 関数

準拠
導入されたバージョン: ODBC 1.0 Standards Compliance: ISO 92

まとめ
SQLGetInfo は 、接続に関連付けられているドライバーとデータ ソースに関する一般的な情報を返します。

構文

  
SQLRETURN SQLGetInfo(  
     SQLHDBC         ConnectionHandle,  
     SQLUSMALLINT    InfoType,  
     SQLPOINTER      InfoValuePtr,  
     SQLSMALLINT     BufferLength,  
     SQLSMALLINT *   StringLengthPtr);  

引数

ConnectionHandle
[入力] 接続ハンドル。

Infotype
[入力]情報の種類。

InfoValuePtr
[出力]情報を返すバッファーへのポインター。 要求された InfoType に応じて、返される情報は、null で終わる文字列、SQLUSMALLINT 値、SQLUINTEGER ビットマスク、SQLUINTEGER フラグ、SQLUINTEGER バイナリ値、または SQLULEN 値のいずれかになります。

引数 InfoType がSQL_DRIVER_HDESCまたはSQL_DRIVER_HSTMTの場合、引数 InfoValuePtr は入力と出力の両方になります。 (詳細については、この関数の説明で後述するSQL_DRIVER_HDESC記述子またはSQL_DRIVER_HSTMT記述子を参照してください。

InfoValuePtr が NULL の場合でも、StringLengthPtrInfoValuePtr が指すバッファーで返される使用可能なバイトの合計数 (文字データの null 終端文字を除く) を返します。

BufferLength
[入力]*InfoValuePtr バッファーの長さ。 *InfoValuePtr の値が文字列でない場合、または InfoValuePtr が null ポインターの場合、BufferLength 引数は無視されます。 ドライバーは、 *InfoValuePtr のサイズが InfoType に基づいて SQLUSMALLINT または SQLUINTEGER であると想定しています。 *InfoValuePtr が Unicode 文字列の場合 (SQLGetInfoW を呼び出すとき)、BufferLength 引数は偶数である必要があります。そうでない場合は、SQLSTATE HY090 (文字列またはバッファーの長さが無効) が返されます。

StringLengthPtr
[出力]*InfoValuePtr で返すために使用できるバイトの合計数 (文字データの null 終端文字を除く) を返すバッファーへのポインター。

文字データの場合、返されるバイト数が BufferLength 以上の場合、*InfoValuePtr の情報は BufferLength バイトから null 終端文字の長さを差し引いた値に切り捨てられ、ドライバーによって null で終了されます。

他のすべての種類のデータの場合、BufferLength の値は無視され、ドライバーは InfoType に応じて *InfoValuePtr のサイズが SQLUSMALLINT または SQLUINTEGER であると見なします。

戻り値

SQL_SUCCESS、SQL_SUCCESS_WITH_INFO、SQL_ERROR、またはSQL_INVALID_HANDLE。

診断

SQLGetInfo が SQL_ERROR または SQL_SUCCESS_WITH_INFO を返す場合、関連付けられた SQLSTATE 値を取得するには、HandleType が SQL_HANDLE_DBC で、ConnectionHandleHandle を使用して SQLGetDiagRec を呼び出します。 次の表に、 SQLGetInfo によって通常返される SQLSTATE 値の一覧を示し、この関数のコンテキストでそれぞれについて説明します。"(DM)" という表記は、ドライバー マネージャーによって返される SQLSTATEs の説明の前にあります。 特に明記されていない限り、各 SQLSTATE 値に関連付けられた戻りコードはSQL_ERRORされます。

SQLSTATE エラー 説明
01000 一般的な警告 ドライバー固有の情報メッセージ。 (関数はSQL_SUCCESS_WITH_INFOを返します。
01004 文字列データ、右切り捨て バッファー *InfoValuePtr は、要求されたすべての情報を返すには十分な大きさではありません。 したがって、情報は切り捨てられました。 要求された情報の長さは、その未入力の形式で *StringLengthPtr で返されます。 (関数はSQL_SUCCESS_WITH_INFOを返します。
08003 接続が開かない (DM) InfoType で要求される情報の種類には、開いている接続が必要です。 ODBC によって予約された情報の種類のうち、開いている接続なしで返すことができるSQL_ODBC_VERのみです。
08S01 通信リンクエラー ドライバーとドライバーが接続されているデータ ソース間の通信リンクは、関数の処理が完了する前に失敗しました。
HY000 一般的なエラー 特定の SQLSTATE がなく、実装固有の SQLSTATE が定義されていないエラーが発生しました。 *MessageText バッファー内の SQLGetDiagRec によって返されるエラー メッセージは、エラーとその原因を説明します。
HY001 メモリ割り当てエラー ドライバーは、関数の実行または完了をサポートするために必要なメモリを割り当てることができませんでした。
HY010 関数シーケンス エラー (DM) StatementHandle に対して SQLExecuteSQLExecDirect、または SQLMoreResults が呼び出され、SQL_PARAM_DATA_AVAILABLE返されました。 この関数は、すべてのストリーミング パラメーターのデータが取得される前に呼び出されました。
HY013 メモリ管理エラー メモリが不足している可能性があるため、基になるメモリ オブジェクトにアクセスできなかったため、関数呼び出しを処理できませんでした。
HY024 属性値が無効です (DM) 引数 InfoType がSQL_DRIVER_HSTMTされ、 InfoValuePtr が指す値が有効なステートメント ハンドルではありません。

(DM) 引数 InfoType がSQL_DRIVER_HDESCされ、 InfoValuePtr が指す値が有効な記述子ハンドルではありません。
HY090 文字列またはバッファーの長さが無効です (DM) 引数 BufferLength に指定された値が 0 未満でした。

(DM) BufferLength に指定された値は奇数で、 *InfoValuePtr は Unicode データ型でした。
HY096 情報の種類が範囲外 引数 InfoType に指定された値が、ドライバーでサポートされている ODBC のバージョンでは無効でした。
HY117 トランザクションの状態が不明なため、接続が中断されます。 切断と読み取り専用の関数のみが許可されます。 (DM) 中断状態の詳細については、「 SQLEndTran 関数」を参照してください。
HYC00 省略可能なフィールドが実装されていません 引数 InfoType に指定された値は、ドライバーでサポートされていないドライバー固有の値でした。
HYT01 接続のタイムアウト データ ソースが要求に応答する前に、接続タイムアウト期間の有効期限が切れています。 接続タイムアウト期間は、 SQLSetConnectAttr (SQL_ATTR_CONNECTION_TIMEOUT) によって設定されます。
IM001 ドライバーは、この関数をサポートしていません (DM) ConnectionHandle に対応するドライバーは、 関数をサポートしていません。

説明

現在定義されている情報の種類については、このセクションの後半の「情報の種類」を参照してください。さまざまなデータ ソースを利用するために、より多くのことが定義されることが期待されます。 情報の種類の範囲は ODBC によって予約されています。ドライバー開発者は、オープン グループから独自のドライバー固有の使用の値を予約する必要があります。 SQLGetInfo は、ドライバー定義のインフォタイプに対して Unicode 変換またはサンキングを実行しません (「付録 A: ODBC プログラマー リファレンスの ODBC エラー コードを参照)。 詳細については、「 ドライバー固有のデータ型、記述子の種類、情報の種類、診断の種類、および属性」を参照してください。 *InfoValuePtr で返される情報の形式は、要求された インフォタイプ によって異なります。 SQLGetInfo は、次の 5 つの異なる形式のいずれかで情報を返します。

  • null で終わる文字列

  • SQLUSMALLINT 値

  • SQLUINTEGER ビットマスク

  • SQLUINTEGER 値

  • SQLUINTEGER バイナリ値

次の各情報型の形式は、型の説明に記載されています。 アプリケーションは、*InfoValuePtr で返される値を適宜キャストする必要があります。 アプリケーションが SQLUINTEGER ビットマスクからデータを取得する方法の例については、「コード例」を参照してください。

ドライバーは、次の表で定義されている情報の種類ごとに値を返す必要があります。 情報の種類がドライバーまたはデータ ソースに適用されない場合、ドライバーは次の表に示す値のいずれかを返します。

情報の種類
文字列 ("Y" または "N") "N"
文字列 ("Y" または "N" ではありません) 空の文字列
SQLUSMALLINT 0
SQLUINTEGER ビットマスクまたは SQLUINTEGER バイナリ値 0L

たとえば、データ ソースがプロシージャをサポートしていない場合、 SQLGetInfo は、プロシージャに関連する InfoType の値について、次の表に示す値を返します。

Infotype
SQL_PROCEDURES "N"
SQL_ACCESSIBLE_PROCEDURES "N"
SQL_MAX_PROCEDURE_NAME_LEN 0
SQL_PROCEDURE_TERM 空の文字列

SQLGetInfo は、 ODBC で使用するために予約されている情報型の範囲内にあるが、ドライバーでサポートされている ODBC のバージョンでは定義されていない InfoType の値に対して SQLSTATE HY096 (引数値が無効) を返します。 ドライバーが準拠している ODBC のバージョンを確認するために、アプリケーションは、SQL_DRIVER_ODBC_VER情報の種類を使用して SQLGetInfo を呼び出します。 SQLGetInfo は、ドライバー固有の使用のために予約されているが、ドライバーでサポートされていない情報の種類の範囲内にある InfoType の値に対して SQLSTATE HYC00 (省略可能な機能は実装されていません) を返します。

SQLGetInfo を呼び出すには、InfoType がSQL_ODBC_VERされている場合を除き、開いている接続が必要です。これはドライバー マネージャーのバージョンを返します。

情報の種類

このセクションでは、 SQLGetInfo でサポートされる情報の種類の一覧を示します。 情報の種類はカテゴリ別にグループ化され、アルファベット順に一覧表示されます。 ODBC 3*.x* に対して追加または名前変更された情報型も一覧表示されます。

ドライバー情報

InfoType 引数の次の値は、アクティブなステートメントの数、データ ソース名、インターフェイス標準コンプライアンス レベルなど、ODBC ドライバーに関する情報を返します。

SQL_ACTIVE_ENVIRONMENTS
SQL_ASYNC_DBC_FUNCTIONS
SQL_ASYNC_MODE
SQL_ASYNC_NOTIFICATION
SQL_BATCH_ROW_COUNT
SQL_BATCH_SUPPORT
SQL_DATA_SOURCE_NAME
SQL_DRIVER_AWARE_POOLING_SUPPORTED
SQL_DRIVER_HDBC
SQL_DRIVER_HDESC
SQL_DRIVER_HENV
SQL_DRIVER_HLIB
SQL_DRIVER_HSTMT
SQL_DRIVER_NAME
SQL_DRIVER_ODBC_VER
SQL_DRIVER_VER
SQL_DYNAMIC_CURSOR_ATTRIBUTES1
SQL_DYNAMIC_CURSOR_ATTRIBUTES2
SQL_FORWARD_ONLY_CURSOR_ATTRIBUTES1

SQL_FORWARD_ONLY_CURSOR_ATTRIBUTES2
SQL_FILE_USAGE
SQL_GETDATA_EXTENSIONS
SQL_INFO_SCHEMA_VIEWS
SQL_KEYSET_CURSOR_ATTRIBUTES1
SQL_KEYSET_CURSOR_ATTRIBUTES2
SQL_MAX_ASYNC_CONCURRENT_STATEMENTS
SQL_MAX_CONCURRENT_ACTIVITIES
SQL_MAX_DRIVER_CONNECTIONS
SQL_ODBC_INTERFACE_CONFORMANCE
SQL_ODBC_STANDARD_CLI_CONFORMANCE
SQL_ODBC_VER
SQL_PARAM_ARRAY_ROW_COUNTS
SQL_PARAM_ARRAY_SELECTS
SQL_ROW_UPDATES
SQL_SEARCH_PATTERN_ESCAPE
SQL_SERVER_NAME
SQL_STATIC_CURSOR_ATTRIBUTES1
SQL_STATIC_CURSOR_ATTRIBUTES2

Note

SQLGetInfo を実装する場合、ドライバーは、情報がサーバーから送信または要求される回数を最小限に抑えることで、パフォーマンスを向上させることができます。

DBMS 製品情報

InfoType 引数の次の値は、DBMS の名前やバージョンなど、DBMS 製品に関する情報を返します。

SQL_DATABASE_NAME
SQL_DBMS_NAME

SQL_DBMS_VER

データ ソース情報

InfoType 引数の次の値は、カーソル特性やトランザクション機能など、データ ソースに関する情報を返します。

SQL_ACCESSIBLE_PROCEDURES
SQL_ACCESSIBLE_TABLES
SQL_BOOKMARK_PERSISTENCE
SQL_CATALOG_TERM
SQL_COLLATION_SEQ
SQL_CONCAT_NULL_BEHAVIOR
SQL_CURSOR_COMMIT_BEHAVIOR
SQL_CURSOR_ROLLBACK_BEHAVIOR
SQL_CURSOR_SENSITIVITY
SQL_DATA_SOURCE_READ_ONLY
SQL_DEFAULT_TXN_ISOLATION
SQL_DESCRIBE_PARAMETER

SQL_MULT_RESULT_SETS
SQL_MULTIPLE_ACTIVE_TXN
SQL_NEED_LONG_DATA_LEN
SQL_NULL_COLLATION
SQL_PROCEDURE_TERM
SQL_SCHEMA_TERM
SQL_SCROLL_OPTIONS
SQL_TABLE_TERM
SQL_TXN_CAPABLE
SQL_TXN_ISOLATION_OPTION
SQL_USER_NAME

サポートされている SQL

InfoType 引数の次の値は、データ ソースでサポートされている SQL ステートメントに関する情報を返します。 これらの情報の種類で説明されている各機能の SQL 構文は、SQL-92 構文です。 これらの情報の種類では、SQL-92 文法全体が完全に記述されているわけではありません。 代わりに、データ ソースが通常異なるレベルのサポートを提供する文法のこれらの部分について説明します。 具体的には、SQL-92 の DDL ステートメントの大部分について説明します。

アプリケーションでは、SQL_SQL_CONFORMANCE情報の種類からサポートされている文法の一般的なレベルを決定し、他の情報の種類を使用して、記載されている標準コンプライアンス レベルからのバリエーションを決定する必要があります。

SQL_AGGREGATE_FUNCTIONS
SQL_ALTER_DOMAIN
SQL_ALTER_SCHEMA
SQL_ALTER_TABLE
SQL_ANSI_SQL_DATETIME_LITERALS
SQL_CATALOG_LOCATION
SQL_CATALOG_NAME
SQL_CATALOG_NAME_SEPARATOR
SQL_CATALOG_USAGE
SQL_COLUMN_ALIAS
SQL_CORRELATION_NAME
SQL_CREATE_ASSERTION
SQL_CREATE_CHARACTER_SET
SQL_CREATE_COLLATION
SQL_CREATE_DOMAIN
SQL_CREATE_SCHEMA
SQL_CREATE_TABLE
SQL_CREATE_TRANSLATION
SQL_DDL_INDEX
SQL_DROP_ASSERTION
SQL_DROP_CHARACTER_SET
SQL_DROP_COLLATION
SQL_DROP_DOMAIN
SQL_DROP_SCHEMA

SQL_DROP_TABLE
SQL_DROP_TRANSLATION
SQL_DROP_VIEW
SQL_EXPRESSIONS_IN_ORDERBY
SQL_GROUP_BY
SQL_IDENTIFIER_CASE
SQL_IDENTIFIER_QUOTE_CHAR
SQL_INDEX_KEYWORDS
SQL_INSERT_STATEMENT
SQL_INTEGRITY
SQL_KEYWORDS
SQL_LIKE_ESCAPE_CLAUSE
SQL_NON_NULLABLE_COLUMNS
SQL_OJ_CAPABILITIES
SQL_ORDER_BY_COLUMNS_IN_SELECT
SQL_OUTER_JOINS
SQL_PROCEDURES
SQL_QUOTED_IDENTIFIER_CASE
SQL_SCHEMA_USAGE
SQL_SPECIAL_CHARACTERS
SQL_SQL_CONFORMANCE
SQL_SUBQUERIES
SQL_UNION

SQL の制限

InfoType 引数の次の値は、識別子の最大長や選択リスト内の列の最大数など、SQL ステートメントの識別子と句に適用される制限に関する情報を返します。 制限は、ドライバーまたはデータ ソースによって適用できます。

SQL_MAX_BINARY_LITERAL_LEN
SQL_MAX_CATALOG_NAME_LEN
SQL_MAX_CHAR_LITERAL_LEN
SQL_MAX_COLUMN_NAME_LEN
SQL_MAX_COLUMNS_IN_GROUP_BY
SQL_MAX_COLUMNS_IN_INDEX
SQL_MAX_COLUMNS_IN_ORDER_BY
SQL_MAX_COLUMNS_IN_SELECT
SQL_MAX_COLUMNS_IN_TABLE
SQL_MAX_CURSOR_NAME_LEN

SQL_MAX_IDENTIFIER_LEN
SQL_MAX_INDEX_SIZE
SQL_MAX_PROCEDURE_NAME_LEN
SQL_MAX_ROW_SIZE
SQL_MAX_ROW_SIZE_INCLUDES_LONG
SQL_MAX_SCHEMA_NAME_LEN
SQL_MAX_STATEMENT_LEN
SQL_MAX_TABLE_NAME_LEN
SQL_MAX_TABLES_IN_SELECT
SQL_MAX_USER_NAME_LEN

スカラー関数情報

InfoType 引数の次の値は、データ ソースとドライバーでサポートされているスカラー関数に関する情報を返します。 スカラー関数の詳細については、「 付録 E: スカラー関数」を参照してください。

SQL_CONVERT_FUNCTIONS
SQL_NUMERIC_FUNCTIONS
SQL_STRING_FUNCTIONS
SQL_SYSTEM_FUNCTIONS

SQL_TIMEDATE_ADD_INTERVALS
SQL_TIMEDATE_DIFF_INTERVALS
SQL_TIMEDATE_FUNCTIONS

変換情報

InfoType 引数の次の値は、データ ソースが CONVERT スカラー関数を使用して指定した SQL データ型を変換できる SQL データ型の一覧を返します。

SQL_CONVERT_BIGINT
SQL_CONVERT_BINARY
SQL_CONVERT_BIT
SQL_CONVERT_CHAR
SQL_CONVERT_DATE
SQL_CONVERT_DECIMAL
SQL_CONVERT_DOUBLE
SQL_CONVERT_FLOAT
SQL_CONVERT_INTEGER
SQL_CONVERT_INTERVAL_DAY_TIME
SQL_CONVERT_INTERVAL_YEAR_MONTH

SQL_CONVERT_LONGVARBINARY
SQL_CONVERT_LONGVARCHAR
SQL_CONVERT_NUMERIC
SQL_CONVERT_REAL
SQL_CONVERT_SMALLINT
SQL_CONVERT_TIME
SQL_CONVERT_TIMESTAMP
SQL_CONVERT_TINYINT
SQL_CONVERT_VARBINARY
SQL_CONVERT_VARCHAR

ODBC 3.x に追加された情報の種類

ODBC 3.x では、 InfoType 引数の次の値が追加されています。

SQL_ACTIVE_ENVIRONMENTS
SQL_AGGREGATE_FUNCTIONS
SQL_ALTER_DOMAIN
SQL_ALTER_SCHEMA
SQL_ANSI_SQL_DATETIME_LITERALS
SQL_ASYNC_DBC_FUNCTIONS
SQL_ASYNC_MODE
SQL_ASYNC_NOTIFICATION
SQL_BATCH_ROW_COUNT
SQL_BATCH_SUPPORT
SQL_CATALOG_NAME
SQL_COLLATION_SEQ
SQL_CONVERT_INTERVAL_DAY_TIME
SQL_CONVERT_INTERVAL_YEAR_MONTH
SQL_CREATE_ASSERTION
SQL_CREATE_CHARACTER_SET
SQL_CREATE_COLLATION
SQL_CREATE_DOMAIN
SQL_CREATE_SCHEMA
SQL_CREATE_TABLE
SQL_CREATE_TRANSLATION
SQL_CURSOR_SENSITIVITY
SQL_DDL_INDEX
SQL_DESCRIBE_PARAMETER
SQL_DM_VER

SQL_DRIVER_AWARE_POOLING_SUPPORTED
SQL_DRIVER_HDESC
SQL_DROP_ASSERTION
SQL_DROP_CHARACTER_SET
SQL_DROP_COLLATION
SQL_DROP_DOMAIN
SQL_DROP_SCHEMA
SQL_DROP_TABLE
SQL_DROP_TRANSLATION
SQL_DROP_VIEW
SQL_DYNAMIC_CURSOR_ATTRIBUTES1
SQL_DYNAMIC_CURSOR_ATTRIBUTES2
SQL_FORWARD_ONLY_CURSOR_ATTRIBUTES1
SQL_FORWARD_ONLY_CURSOR_ATTRIBUTES2
SQL_INFO_SCHEMA_VIEWS
SQL_INSERT_STATEMENT
SQL_KEYSET_CURSOR_ATTRIBUTES1
SQL_KEYSET_CURSOR_ATTRIBUTES2
SQL_MAX_ASYNC_CONCURRENT_STATEMENTS
SQL_MAX_IDENTIFIER_LEN
SQL_PARAM_ARRAY_ROW_COUNTS
SQL_PARAM_ARRAY_SELECTS
SQL_STATIC_CURSOR_ATTRIBUTES1
SQL_STATIC_CURSOR_ATTRIBUTES2
SQL_XOPEN_CLI_YEAR

ODBC 3.x の情報型の名前が変更されました

ODBC 3.x では、 InfoType 引数の次の値の名前が変更されました。

古い名前 New Name
SQL_ACTIVE_CONNECTIONS SQL_MAX_DRIVER_CONNECTIONS
SQL_ACTIVE_STATEMENTS SQL_MAX_CONCURRENT_ACTIVITIES
SQL_MAX_OWNER_NAME_LEN SQL_MAX_SCHEMA_NAME_LEN
SQL_MAX_QUALIFIER_NAME_LEN SQL_MAX_CATALOG_NAME_LEN
SQL_ODBC_SQL_OPT_IEF SQL_INTEGRITY
SQL_OWNER_TERM SQL_SCHEMA_TERM
SQL_OWNER_USAGE SQL_SCHEMA_USAGE
SQL_QUALIFIER_LOCATION SQL_CATALOG_LOCATION
SQL_QUALIFIER_NAME_SEPARATOR SQL_CATALOG_NAME_SEPARATOR
SQL_QUALIFIER_TERM SQL_CATALOG_TERM
SQL_QUALIFIER_USAGE SQL_CATALOG_USAGE

ODBC 3.x で非推奨の情報型

InfoType 引数の次の値は、ODBC 3.x では非推奨となりました。 ODBC 3.x ドライバーでは、ODBC 2.x アプリケーションとの下位互換性のために、これらの情報の種類を引き続きサポートする必要があります。 (これらの型の詳細については、「付録 G: 下位互換性のためのドライバー ガイドライン」の 「SQLGetInfo のサポート 」を参照してください)。

SQL_FETCH_DIRECTION
SQL_LOCK_TYPES
SQL_ODBC_API_CONFORMANCE
SQL_ODBC_SQL_CONFORMANCE

SQL_POS_OPERATIONS
SQL_POSITIONED_STATEMENTS
SQL_SCROLL_CONCURRENCY
SQL_STATIC_SENSITIVITY

情報の種類の説明

次の表は、各情報の種類、導入された ODBC のバージョン、およびその説明をアルファベット順に示しています。

情報の種類 ODBC バージョン 説明
SQL_ACCESSIBLE_PROCEDURES 1.0 ユーザーが SQLProcedures によって返されるすべてのプロシージャを実行できる場合は、"Y" という文字列。ユーザーが実行できないプロシージャが返される可能性がある場合は、"N" です。
SQL_ACCESSIBLE_TABLES 1.0 ユーザーが SQLTables によって返されるすべてのテーブルに対する SELECT 特権が保証されている場合は、"Y" という文字列。ユーザーがアクセスできないテーブルが返される可能性がある場合は、"N" です。
SQL_ACTIVE_ENVIRONMENTS 3.0 ドライバーがサポートできるアクティブな環境の最大数を指定する SQLUSMALLINT 値。 指定された制限がない場合、または制限が不明な場合、この値は 0 に設定されます。
SQL_AGGREGATE_FUNCTIONS 3.0 集計関数のサポートを列挙する SQLUINTEGER ビットマスク:
SQL_AF_ALL
SQL_AF_AVG
SQL_AF_COUNT
SQL_AF_DISTINCT
SQL_AF_MAX
SQL_AF_MIN
SQL_AF_SUM

SQL-92 エントリ レベル準拠ドライバーは、サポートされているとおりに常にこれらのオプションをすべて返します。
SQL_ALTER_DOMAIN 3.0 データ ソースでサポートされている SQL-92 で定義されている ALTER DOMAIN ステートメントの句を列挙する SQLUINTEGER ビットマスク。 SQL-92 完全レベル準拠ドライバーは常にすべてのビットマスクを返します。 戻り値 "0" は、 ALTER DOMAIN ステートメントがサポートされていないことを意味します。

この機能をサポートする必要がある SQL-92 または FIPS 準拠レベルは、各ビットマスクの横にかっこで囲んで表示されます。

サポートされている句を決定するには、次のビットマスクを使用します。
SQL_AD_ADD_DOMAIN_CONSTRAINT = ドメイン制約の追加がサポートされています (フル レベル)
SQL_AD_ADD_DOMAIN_DEFAULT = <alter domain><set domain default 句> がサポートされています (フル レベル)
SQL_AD_CONSTRAINT_NAME_DEFINITION = <制約名定義句> は、名前付けドメイン制約 (中間レベル) でサポートされています
SQL_AD_DROP_DOMAIN_CONSTRAINT = <drop domain constraint clause> is supported (フル レベル)
SQL_AD_DROP_DOMAIN_DEFAULT = <ドメイン ドロップ ドメイン><の既定の句> の変更がサポートされています (フル レベル)

add domain constraint is supported <(add domain constraint is supported ( SQL_AD_ADD_DOMAIN_CONSTRAINT ビットが設定されている) 場合<、次のビットはサポートされる制約>属性>を指定します。
SQL_AD_ADD_CONSTRAINT_DEFERRABLE (フル レベル)
SQL_AD_ADD_CONSTRAINT_NON_DEFERRABLE (フル レベル)
SQL_AD_ADD_CONSTRAINT_INITIALLY_DEFERRED (フル レベル)
SQL_AD_ADD_CONSTRAINT_INITIALLY_IMMEDIATE (フル レベル)
SQL_ALTER_TABLE 2.0 データ ソースでサポートされている ALTER TABLE ステートメントの句を列挙する SQLUINTEGER ビットマスク。

この機能をサポートする必要がある SQL-92 または FIPS 準拠レベルは、各ビットマスクの横にかっこで囲んで表示されます。

サポートされている句を決定するには、次のビットマスクを使用します。
SQL_AT_ADD_COLUMN_COLLATION = <列> の追加句がサポートされており、列の照合順序を指定する機能 (フル レベル) (ODBC 3.0)
SQL_AT_ADD_COLUMN_DEFAULT = <列> の追加句がサポートされており、列の既定値を指定する機能 (FIPS 遷移レベル) (ODBC 3.0)
SQL_AT_ADD_COLUMN_SINGLE = <列> の追加がサポートされています (FIPS 遷移レベル) (ODBC 3.0)
SQL_AT_ADD_CONSTRAINT = <列> の追加句がサポートされており、列制約を指定する機能 (FIPS 遷移レベル) (ODBC 3.0)
SQL_AT_ADD_TABLE_CONSTRAINT = <テーブル制約> 句の追加がサポートされています (FIPS 遷移レベル) (ODBC 3.0)
SQL_AT_CONSTRAINT_NAME_DEFINITION = <制約名の定義> は、列制約とテーブル制約の名前付け (中間レベル) でサポートされています (ODBC 3.0)
SQL_AT_DROP_COLUMN_CASCADE = <列 CASCADE のドロップ> がサポートされています (FIPS 遷移レベル) (ODBC 3.0)
SQL_AT_DROP_COLUMN_DEFAULT = <列><ドロップ列の既定の句> の変更がサポートされています (中間レベル) (ODBC 3.0)
SQL_AT_DROP_COLUMN_RESTRICT = <drop column> RESTRICT がサポートされています (FIPS 遷移レベル) (ODBC 3.0)
SQL_AT_DROP_TABLE_CONSTRAINT_CASCADE (ODBC 3.0)
SQL_AT_DROP_TABLE_CONSTRAINT_RESTRICT = <drop column> RESTRICT がサポートされています (FIPS 遷移レベル) (ODBC 3.0)
SQL_AT_SET_COLUMN_DEFAULT = <列セット列><の既定の句> の変更がサポートされています (中間レベル) (ODBC 3.0)

次のビットは、列またはテーブル制約の <指定がサポートされている場合にサポート制約属性> を指定します (SQL_AT_ADD_CONSTRAINT ビットが設定されています)。
SQL_AT_CONSTRAINT_INITIALLY_DEFERRED (フル レベル) (ODBC 3.0)
SQL_AT_CONSTRAINT_INITIALLY_IMMEDIATE (フル レベル) (ODBC 3.0)
SQL_AT_CONSTRAINT_DEFERRABLE (フル レベル) (ODBC 3.0)
SQL_AT_CONSTRAINT_NON_DEFERRABLE (フル レベル) (ODBC 3.0)
SQL_ASYNC_DBC_FUNCTIONS 3.8 ドライバーが接続ハンドルで関数を非同期的に実行できるかどうかを示す SQLUINTEGER 値。

SQL_ASYNC_DBC_CAPABLE = ドライバーは接続関数を非同期的に実行できます。
SQL_ASYNC_DBC_NOT_CAPABLE = ドライバーは接続関数を非同期的に実行できません。
SQL_ASYNC_MODE 3.0 ドライバーでの非同期サポートのレベルを示す SQLUINTEGER 値。

SQL_AM_CONNECTION = 接続レベルの非同期実行がサポートされています。 特定の接続ハンドルに関連付けられているすべてのステートメント ハンドルが非同期モードであるか、すべて同期モードです。 同じ接続上の別のステートメント ハンドルが同期モードである間、接続のステートメント ハンドルを非同期モードにすることはできません。また、その逆も同様です。
SQL_AM_STATEMENT = ステートメント レベルの非同期実行がサポートされています。 接続ハンドルに関連付けられている一部のステートメント ハンドルは非同期モードにできますが、同じ接続上の他のステートメント ハンドルは同期モードです。
SQL_AM_NONE = 非同期モードはサポートされていません。
SQL_ASYNC_NOTIFICATION 3.8 ドライバーが非同期通知をサポートしているかどうかを示す SQLUINTEGER 値。

SQL_ASYNC_NOTIFICATION_CAPABLE = 非同期実行通知は、ドライバーでサポートされています。
SQL_ASYNC_NOTIFICATION_NOT_CAPABLE = 非同期実行通知は、ドライバーではサポートされていません。

ODBC 非同期操作には、接続レベルの非同期操作とステートメント レベルの非同期操作の 2 つのカテゴリがあります。 ドライバーがSQL_ASYNC_NOTIFICATION_CAPABLEを返す場合は、非同期的に実行できるすべての API の通知をサポートする必要があります。
SQL_BATCH_ROW_COUNT 3.0 行数の可用性に関するドライバーの動作を列挙する SQLUINTEGER ビットマスク。 次のビットマスクは、情報の種類と共に使用されます。

SQL_BRC_ROLLED_UP = 連続する INSERT、DELETE、または UPDATE ステートメントの行数は、1 つにロールアップされます。 このビットが設定されていない場合は、ステートメントごとに行数を使用できます。
SQL_BRC_PROCEDURES = 行数 (ある場合) は、ストアド プロシージャでバッチを実行するときに使用できます。 行数が使用可能な場合は、SQL_BRC_ROLLED_UP ビットに応じて、ロールアップすることも、個別に使用することもできます。
SQL_BRC_EXPLICIT = 行数 (ある場合) は、 SQLExecute または SQLExecDirect を呼び出してバッチを直接実行するときに使用できます。 行数が使用可能な場合は、SQL_BRC_ROLLED_UP ビットに応じて、ロールアップすることも、個別に使用することもできます。
SQL_BATCH_SUPPORT 3.0 バッチに対するドライバーのサポートを列挙する SQLUINTEGER ビットマスク。 サポートされているレベルを決定するには、次のビットマスクを使用します。

SQL_BS_SELECT_EXPLICIT = ドライバーは、結果セット生成ステートメントを持つ明示的なバッチをサポートします。
SQL_BS_ROW_COUNT_EXPLICIT = ドライバーは、行数生成ステートメントを持つ明示的なバッチをサポートします。
SQL_BS_SELECT_PROC = ドライバーは、結果セット生成ステートメントを持つ明示的なプロシージャをサポートします。
SQL_BS_ROW_COUNT_PROC = ドライバーは、行数生成ステートメントを持つ明示的なプロシージャをサポートしています。
SQL_BOOKMARK_PERSISTENCE 2.0 ブックマークが保持される操作を列挙する SQLUINTEGER ビットマスク。 次のビットマスクを フラグと共に使用して、ブックマークが保持されるオプションを決定します。

SQL_BP_CLOSE = ブックマークは、アプリケーションが sqlFreeStmt を SQL_CLOSE オプションで呼び出した後、または SQLCloseCursor を呼び出してステートメントに関連付けられているカーソルを閉じる場合に有効です。
SQL_BP_DELETE = 行のブックマークは、その行が削除された後に有効です。
SQL_BP_DROP = ブックマークは、アプリケーションが SQLFreeHandle を呼び出し、 HandleType が SQL_HANDLE_STMT でステートメントを削除した後に有効です。
SQL_BP_TRANSACTION = ブックマークは、アプリケーションがトランザクションをコミットまたはロールバックした後に有効です。
SQL_BP_UPDATE = 行のブックマークは、その行の任意の列 (キー列を含む) が更新された後に有効です。
SQL_BP_OTHER_HSTMT = あるステートメントに関連付けられたブックマークは、別のステートメントで使用できます。 SQL_BP_CLOSEまたはSQL_BP_DROPを指定しない限り、最初のステートメントのカーソルを開く必要があります。
SQL_CATALOG_LOCATION 2.0 修飾テーブル名内のカタログの位置を示す SQLUSMALLINT 値。

SQL_CL_START
SQL_CL_END
たとえば、\EMPDATA\EMP のように、ディレクトリ (カタログ) 名がテーブル名の先頭にあるため、Xbase ドライバーはSQL_CL_STARTを返します。Dbf。 カタログは ADMIN のようにテーブル名の末尾にあるため、ORACLE Server ドライバーはSQL_CL_ENDを返します。EMP@EMPDATA。

SQL-92 完全レベル準拠ドライバーは常にSQL_CL_STARTを返します。 カタログがデータ ソースでサポートされていない場合は、値 0 が返されます。 カタログがサポートされているかどうかを判断するために、アプリケーションは、SQL_CATALOG_NAME情報の種類を使用して SQLGetInfo を呼び出します。

この InfoType は、ODBC 2.0 InfoType SQL_QUALIFIER_LOCATIONから ODBC 3.0 の名前が変更されました。
SQL_CATALOG_NAME 3.0 サーバーがカタログ名をサポートしている場合は "Y"、サポートされていない場合は "N" という文字列。

SQL-92 完全レベル準拠ドライバーは、常に "Y" を返します。
SQL_CATALOG_NAME_SEPARATOR 1.0 文字列: データ ソースがカタログ名と、その後または前の修飾名要素との間の区切り文字として定義する文字。

カタログがデータ ソースでサポートされていない場合は、空の文字列が返されます。 カタログがサポートされているかどうかを判断するために、アプリケーションは、SQL_CATALOG_NAME情報の種類を使用して SQLGetInfo を呼び出します。 SQL-92 完全レベル準拠ドライバーは常に "." を返します。

ODBC 3.0 では、この InfoType の名前が ODBC 2.0 InfoType SQL_QUALIFIER_NAME_SEPARATORから変更されました。
SQL_CATALOG_TERM 1.0 カタログのデータ ソース ベンダーの名前を含む文字列。たとえば、"database" や "directory" などです。 この文字列には、大文字、小文字、または混合の大文字と小文字を指定できます。

カタログがデータ ソースでサポートされていない場合は、空の文字列が返されます。 カタログがサポートされているかどうかを判断するために、アプリケーションは、SQL_CATALOG_NAME情報の種類を使用して SQLGetInfo を呼び出します。 SQL-92 完全レベル準拠ドライバーは、常に "カタログ" を返します。

ODBC 3.0 では、この InfoType の名前が ODBC 2.0 InfoType SQL_QUALIFIER_TERMから変更されました。
SQL_CATALOG_USAGE 2.0 カタログを使用できるステートメントを列挙する SQLUINTEGER ビットマスク。

カタログを使用できる場所を決定するには、次のビットマスクを使用します。
SQL_CU_DML_STATEMENTS = カタログは、 SELECTINSERTUPDATEDELETE のすべてのデータ操作言語ステートメントでサポートされ、サポートされている場合は SELECT FOR UPDATE ステートメントと位置指定更新ステートメントと delete ステートメントがサポートされます。
SQL_CU_PROCEDURE_INVOCATION = カタログは ODBC プロシージャ呼び出しステートメントでサポートされています。
SQL_CU_TABLE_DEFINITION = カタログは、 CREATE TABLECREATE VIEWALTER TABLE、 DROP TABLEDROP VIEW のすべてのテーブル定義ステートメントでサポートされています。
SQL_CU_INDEX_DEFINITION = カタログは、すべてのインデックス定義ステートメント ( CREATE INDEX および DROP INDEX) でサポートされています。
SQL_CU_PRIVILEGE_DEFINITION = カタログは、 GRANT および REVOKE のすべての特権定義ステートメントでサポートされています。

カタログがデータ ソースでサポートされていない場合は、値 0 が返されます。 カタログがサポートされているかどうかを判断するために、アプリケーションは、SQL_CATALOG_NAME情報の種類を使用して SQLGetInfo を呼び出します。 SQL-92 完全レベル準拠ドライバーは、常にこれらのすべてのビットが設定されたビットマスクを返します。

この InfoType は、ODBC 2.0 InfoType SQL_QUALIFIER_USAGEから ODBC 3.0 の名前が変更されました。
SQL_COLLATION_SEQ 3.0 照合順序の名前。 これは、このサーバーの既定の文字セット (たとえば、'ISO 8859-1' や EBCDIC) の既定の照合順序の名前を示す文字列です。 これが不明な場合は、空の文字列が返されます。 SQL-92 完全レベル準拠ドライバーは、常に空でない文字列を返します。
SQL_COLUMN_ALIAS 2.0 データ ソースが列のエイリアスをサポートしている場合は、"Y" という文字列。それ以外の場合は、"N" です。

列の別名は、AS 句を使用して選択リスト内の列に指定できる代替名です。 SQL-92 エントリ レベルに準拠したドライバーは、常に "Y" を返します。
SQL_CONCAT_NULL_BEHAVIOR 1.0 NULL 値以外の文字データ型列を持つ NULL 値文字データ型列の連結をデータ ソースが処理する方法を示す SQLUSMALLINT 値。
SQL_CB_NULL = Result は NULL 値です。
SQL_CB_NON_NULL = 結果は NULL 以外の値を持つ列の連結です。

SQL-92 エントリ レベル準拠ドライバーは常にSQL_CB_NULLを返します。
SQL_CONVERT_BIGINT
SQL_CONVERT_BINARY
SQL_CONVERT_BIT
SQL_CONVERT_CHAR
SQL_CONVERT_GUID
SQL_CONVERT_DATE
SQL_CONVERT_DECIMAL
SQL_CONVERT_DOUBLE
SQL_CONVERT_FLOAT
SQL_CONVERT_INTEGER
SQL_CONVERT_INTERVAL_YEAR_MONTH
SQL_CONVERT_INTERVAL_DAY_TIME
SQL_CONVERT_LONGVARBINARY
SQL_CONVERT_LONGVARCHAR
SQL_CONVERT_NUMERIC
SQL_CONVERT_REAL
SQL_CONVERT_SMALLINT
SQL_CONVERT_TIME
SQL_CONVERT_TIMESTAMP
SQL_CONVERT_TINYINT
SQL_CONVERT_VARBINARY
SQL_CONVERT_VARCHAR
1.0 SQLUINTEGER ビットマスク。 ビットマスクは、InfoType で指定された型のデータに対して CONVERT スカラー関数を使用してデータ ソースでサポートされる変換を示します。 ビットマスクが 0 の場合、データ ソースは、同じデータ型への変換を含め、名前付き型のデータからの変換をサポートしません。

たとえば、データ ソースが SQL_INTEGER データ型から SQL_BIGINT データ型への変換をサポートしているかどうかを判断するために、アプリケーションは infoType が SQL_CONVERT_INTEGER の SQLGetInfo を呼び出します。 アプリケーションは、返されたビットマスクとSQL_CVT_BIGINTを使用して AND 操作を実行します。 結果の値が 0 以外の場合は、変換がサポートされます。

サポートされている変換を決定するには、次のビットマスクを使用します。
SQL_CVT_BIGINT (ODBC 1.0)
SQL_CVT_BINARY (ODBC 1.0)
SQL_CVT_BIT (ODBC 1.0)
SQL_CVT_GUID (ODBC 3.5)
SQL_CVT_CHAR (ODBC 1.0)
SQL_CVT_DATE (ODBC 1.0)
SQL_CVT_DECIMAL (ODBC 1.0)
SQL_CVT_DOUBLE (ODBC 1.0)
SQL_CVT_FLOAT (ODBC 1.0)
SQL_CVT_INTEGER (ODBC 1.0)
SQL_CVT_INTERVAL_YEAR_MONTH (ODBC 3.0)
SQL_CVT_INTERVAL_DAY_TIME (ODBC 3.0)
SQL_CVT_LONGVARBINARY (ODBC 1.0)
SQL_CVT_LONGVARCHAR (ODBC 1.0)
SQL_CVT_NUMERIC (ODBC 1.0)
SQL_CVT_REAL (ODBC 1.0)
SQL_CVT_SMALLINT (ODBC 1.0)
SQL_CVT_TIME (ODBC 1.0)
SQL_CVT_TIMESTAMP (ODBC 1.0)
SQL_CVT_TINYINT (ODBC 1.0)
SQL_CVT_VARBINARY (ODBC 1.0)
SQL_CVT_VARCHAR (ODBC 1.0)
SQL_CONVERT_FUNCTIONS 1.0 ドライバーと関連するデータ ソースでサポートされるスカラー変換関数を列挙する SQLUINTEGER ビットマスク。

サポートされている変換関数を判断するには、次のビットマスクを使用します。
SQL_FN_CVT_CASTSQL_FN_CVT_CONVERT
SQL_CORRELATION_NAME 1.0 テーブルの関連付け名がサポートされているかどうかを示す SQLUSMALLINT 値。
SQL_CN_NONE = 関連付け名はサポートされていません。
SQL_CN_DIFFERENT = 関連付け名はサポートされていますが、表すテーブルの名前とは異なる必要があります。
SQL_CN_ANY = 関連付け名はサポートされており、任意の有効なユーザー定義名を指定できます。

SQL-92 エントリ レベル準拠ドライバーは常にSQL_CN_ANYを返します。
SQL_CREATE_ASSERTION 3.0 データ ソースでサポートされている SQL-92 で定義されている CREATE ASSERTION ステートメントの句を列挙する SQLUINTEGER ビットマスク。

サポートされている句を決定するには、次のビットマスクを使用します。
SQL_CA_CREATE_ASSERTION

次のビットは、制約属性を明示的に指定する機能がサポートされている場合に、サポートされる制約属性を指定します (SQL_ALTER_TABLEおよびSQL_CREATE_TABLE情報型を参照してください)。
SQL_CA_CONSTRAINT_INITIALLY_DEFERRED
SQL_CA_CONSTRAINT_INITIALLY_IMMEDIATE
SQL_CA_CONSTRAINT_DEFERRABLE
SQL_CA_CONSTRAINT_NON_DEFERRABLE

SQL-92 完全レベル準拠ドライバーは、サポートされているとおりに常にこれらのオプションをすべて返します。 戻り値 "0" は、 CREATE ASSERTION ステートメントがサポートされていないことを意味します。
SQL_CREATE_CHARACTER_SET 3.0 データ ソースでサポートされている SQL-92 で定義されている CREATE CHARACTER SET ステートメントの句を列挙する SQLUINTEGER ビットマスク。

サポートされている句を決定するには、次のビットマスクを使用します。
SQL_CCS_CREATE_CHARACTER_SET
SQL_CCS_COLLATE_CLAUSE
SQL_CCS_LIMITED_COLLATION

SQL-92 完全レベル準拠ドライバーは、サポートされているとおりに常にこれらのオプションをすべて返します。 戻り値 "0" は 、CREATE CHARACTER SET ステートメントがサポートされていないことを意味します。
SQL_CREATE_COLLATION 3.0 データ ソースでサポートされている SQL-92 で定義されている CREATE COLLATION ステートメントの句を列挙する SQLUINTEGER ビットマスク。

サポートされている句を決定するには、次のビットマスクを使用します。
SQL_CCOL_CREATE_COLLATION

SQL-92 完全レベル準拠ドライバーは、常にサポートされているとおりにこのオプションを返します。 戻り値 "0" は、 CREATE COLLATION ステートメントがサポートされていないことを意味します。
SQL_CREATE_DOMAIN 3.0 データ ソースでサポートされている SQL-92 で定義されている CREATE DOMAIN ステートメントの句を列挙する SQLUINTEGER ビットマスク。

サポートされている句を決定するには、次のビットマスクを使用します。
SQL_CDO_CREATE_DOMAIN = CREATE DOMAIN ステートメントがサポートされています (中間レベル)。
SQL_CDO_CONSTRAINT_NAME_DEFINITION = <制約名の定義> は、ドメイン制約の名前付け (中間レベル) でサポートされています。

次のビットは、列制約を作成する機能を指定します。
SQL_CDO_DEFAULT = ドメイン制約の指定がサポートされています (中間レベル)
SQL_CDO_CONSTRAINT = ドメインの既定値の指定がサポートされています (中間レベル)
SQL_CDO_COLLATION = ドメイン照合順序の指定がサポートされています (フル レベル)

次のビットは、ドメイン制約の指定がサポートされている (SQL_CDO_DEFAULTが設定されている) 場合に、サポートされる制約属性を指定します。
SQL_CDO_CONSTRAINT_INITIALLY_DEFERRED (フル レベル)
SQL_CDO_CONSTRAINT_INITIALLY_IMMEDIATE (フル レベル)
SQL_CDO_CONSTRAINT_DEFERRABLE (フル レベル)
SQL_CDO_CONSTRAINT_NON_DEFERRABLE (フル レベル)

戻り値 "0" は 、CREATE DOMAIN ステートメントがサポートされていないことを意味します。
SQL_CREATE_SCHEMA 3.0 データ ソースでサポートされている SQL-92 で定義されている CREATE SCHEMA ステートメントの句を列挙する SQLUINTEGER ビットマスク。

サポートされている句を決定するには、次のビットマスクを使用します。
SQL_CS_CREATE_SCHEMA
SQL_CS_AUTHORIZATION
SQL_CS_DEFAULT_CHARACTER_SET

SQL-92 中間レベル準拠ドライバーは、サポートされているSQL_CS_CREATE_SCHEMAとSQL_CS_AUTHORIZATIONオプションを常に返します。 これらは、SQL-92 エントリ レベルでもサポートされている必要がありますが、必ずしも SQL ステートメントとしてサポートされているわけではありません。 SQL-92 完全レベル準拠ドライバーは、サポートされているとおりに常にこれらのオプションをすべて返します。
SQL_CREATE_TABLE 3.0 データ ソースでサポートされている SQL-92 で定義されている CREATE TABLE ステートメントの句を列挙する SQLUINTEGER ビットマスク。

この機能をサポートする必要がある SQL-92 または FIPS 準拠レベルは、各ビットマスクの横にかっこで囲んで表示されます。

サポートされている句を決定するには、次のビットマスクを使用します。
SQL_CT_CREATE_TABLE = CREATE TABLE ステートメントがサポートされています。 (エントリ レベル)
SQL_CT_TABLE_CONSTRAINT = テーブル制約の指定がサポートされています (FIPS 遷移レベル)
SQL_CT_CONSTRAINT_NAME_DEFINITION = 制約名定義>句は<、列制約とテーブル制約の名前付けに対してサポートされています (中間レベル)

次のビットは、一時テーブルを作成する機能を指定します。
SQL_CT_COMMIT_PRESERVE = 削除された行はコミット時に保持されます。 (フル レベル)
SQL_CT_COMMIT_DELETE = 削除された行はコミット時に削除されます。 (フル レベル)
SQL_CT_GLOBAL_TEMPORARY = グローバル一時テーブルを作成できます。 (フル レベル)
SQL_CT_LOCAL_TEMPORARY = ローカル一時テーブルを作成できます。 (フル レベル)

次のビットは、列制約を作成する機能を指定します。
SQL_CT_COLUMN_CONSTRAINT = 列制約の指定がサポートされています (FIPS 遷移レベル)
SQL_CT_COLUMN_DEFAULT = 列の既定値の指定がサポートされています (FIPS 移行レベル)
SQL_CT_COLUMN_COLLATION = 列の照合順序の指定がサポートされています (フル レベル)

次のビットは、列またはテーブル制約の指定がサポートされている場合に、サポートされる制約属性を指定します。
SQL_CT_CONSTRAINT_INITIALLY_DEFERRED (フル レベル)
SQL_CT_CONSTRAINT_INITIALLY_IMMEDIATE (フル レベル)
SQL_CT_CONSTRAINT_DEFERRABLE (フル レベル)
SQL_CT_CONSTRAINT_NON_DEFERRABLE (フル レベル)
SQL_CREATE_TRANSLATION 3.0 データ ソースでサポートされている SQL-92 で定義されている CREATE TRANSLATION ステートメントの句を列挙する SQLUINTEGER ビットマスク。

サポートされている句を決定するには、次のビットマスクを使用します。
SQL_CTR_CREATE_TRANSLATION

SQL-92 完全レベル準拠ドライバーは、サポートされているとおりに常にこれらのオプションを返します。 戻り値 "0" は、 CREATE TRANSLATION ステートメントがサポートされていないことを意味します。
SQL_CREATE_VIEW 3.0 データ ソースでサポートされている SQL-92 で定義されている CREATE VIEW ステートメントの句を列挙する SQLUINTEGER ビットマスク。

サポートされている句を決定するには、次のビットマスクを使用します。
SQL_CV_CREATE_VIEW
SQL_CV_CHECK_OPTION
SQL_CV_CASCADED
SQL_CV_LOCAL

戻り値 "0" は、 CREATE VIEW ステートメントがサポートされていないことを意味します。

SQL-92 エントリ レベル準拠ドライバーは、サポートされているSQL_CV_CREATE_VIEWとSQL_CV_CHECK_OPTIONオプションを常に返します。

SQL-92 完全レベル準拠ドライバーは、サポートされているとおりに常にこれらのオプションをすべて返します。
SQL_CURSOR_COMMIT_BEHAVIOR 1.0 COMMIT 操作がデータ ソース内のカーソルおよび準備されたステートメント (トランザクションをコミットするときのデータ ソースの動作) に与える影響を示す SQLUSMALLINT 値。

この属性の値には、次の設定の現在の状態が反映されます: SQL_COPT_SS_PRESERVE_CURSORS。
SQL_CB_DELETE = カーソルを閉じ、準備されたステートメントを削除します。 カーソルをもう一度使用するには、アプリケーションで ステートメントを再表示して再実行する必要があります。
SQL_CB_CLOSE = カーソルを閉じます。 準備されたステートメントの場合、アプリケーションは SQLPrepare を再度呼び出さずに、 ステートメントで SQLExecute を呼び出すことができます。 SQL ODBC ドライバーの既定値はSQL_CB_CLOSEです。 つまり、トランザクションをコミットすると、SQL ODBC ドライバーはカーソルを閉じます。
SQL_CB_PRESERVE = COMMIT 操作の前と同じ位置にカーソルを保持します。 アプリケーションは引き続きデータをフェッチすることも、カーソルを閉じてステートメントを再準備せずに再実行することもできます。
SQL_CURSOR_ROLLBACK_BEHAVIOR 1.0 ROLLBACK 操作がデータ ソース内のカーソルおよび準備されたステートメントに与える影響を示す SQLUSMALLINT 値。
SQL_CB_DELETE = カーソルを閉じ、準備されたステートメントを削除します。 カーソルをもう一度使用するには、アプリケーションで ステートメントを再表示して再実行する必要があります。
SQL_CB_CLOSE = カーソルを閉じます。 準備されたステートメントの場合、アプリケーションは SQLPrepare を再度呼び出さずに、 ステートメントで SQLExecute を呼び出すことができます。
SQL_CB_PRESERVE = ROLLBACK 操作の前と同じ位置にカーソルを保持します。 アプリケーションは引き続きデータをフェッチすることも、カーソルを閉じてステートメントを再準備せずに再実行することもできます。
SQL_CURSOR_SENSITIVITY 3.0 カーソルの秘密度のサポートを示す SQLUINTEGER 値。
SQL_INSENSITIVE = ステートメント ハンドル上のすべてのカーソルは、同じトランザクション内の他のカーソルによって行われた変更を反映せずに結果セットを表示します。
SQL_UNSPECIFIED = ステートメント ハンドル上のカーソルが、同じトランザクション内の別のカーソルによって結果セットに加えられた変更を表示するかどうかは指定されません。 ステートメント ハンドルにカーソルを置くと、このような変更は表示されないか、一部またはすべて表示されない場合があります。
SQL_SENSITIVE = カーソルは、同じトランザクション内の他のカーソルによって行われた変更に影響を受けます。

SQL-92 エントリ レベル準拠ドライバーは、サポートされているSQL_UNSPECIFIED オプションを常に返します。

SQL-92 完全レベル準拠ドライバーは、サポートされているSQL_INSENSITIVE オプションを常に返します。
SQL_DATA_SOURCE_NAME 1.0 接続中に使用されたデータ ソース名を含む文字列。 SQLConnect というアプリケーションの場合、これは szDSN 引数の値です。 アプリケーションが SQLDriverConnect または SQLBrowseConnect を呼び出した場合、これはドライバーに渡される接続文字列の DSN キーワードの値です。 接続文字列に DSN キーワード ( DRIVER キーワードが含まれている場合など) が含まれていない場合、これは空の文字列です。
SQL_DATA_SOURCE_READ_ONLY 1.0 文字列。 データ ソースが READ ONLY モードに設定されている場合は "Y" 、それ以外の場合は "N" です。

この特性は、データ ソース自体にのみ関係します。データ ソースへのアクセスを可能にするドライバーの特性ではありません。 読み取り/書き込み可能なドライバーは、読み取り専用のデータ ソースと共に使用できます。 ドライバーが読み取り専用の場合、そのすべてのデータ ソースは読み取り専用で、SQL_DATA_SOURCE_READ_ONLYを返す必要があります。
SQL_DATABASE_NAME 1.0 データ ソースで "database" という名前のオブジェクトが定義されている場合、使用中の現在のデータベースの名前を持つ文字列。

ODBC 3.x では、この InfoType に対して返される値は、 sqlGetConnectAttr を呼び出して Attribute 引数を SQL_ATTR_CURRENT_CATALOGして返すこともできます。
SQL_DATETIME_LITERALS 3.0 データ ソースでサポートされている SQL-92 datetime リテラルを列挙する SQLUINTEGER ビットマスク。 これらは SQL-92 仕様に記載されている datetime リテラルであり、ODBC で定義されている datetime リテラルエスケープ句とは別であることに注意してください。 ODBC datetime リテラルエスケープ句の詳細については、「 日付、時刻、およびタイムスタンプ リテラル」を参照してください。

FIPS 遷移レベルに準拠したドライバーは、次の一覧のビットのビットマスクの "1" 値を常に返します。 値 "0" は、SQL-92 datetime リテラルがサポートされていないことを意味します。

サポートされているリテラルを決定するには、次のビットマスクを使用します。
SQL_DL_SQL92_DATE
SQL_DL_SQL92_TIME
SQL_DL_SQL92_TIMESTAMP
SQL_DL_SQL92_INTERVAL_YEAR
SQL_DL_SQL92_INTERVAL_MONTH
SQL_DL_SQL92_INTERVAL_DAY
SQL_DL_SQL92_INTERVAL_HOUR
SQL_DL_SQL92_INTERVAL_MINUTE
SQL_DL_SQL92_INTERVAL_SECOND
SQL_DL_SQL92_INTERVAL_YEAR_TO_MONTH
SQL_DL_SQL92_INTERVAL_DAY_TO_HOUR
SQL_DL_SQL92_INTERVAL_DAY_TO_MINUTE
SQL_DL_SQL92_INTERVAL_DAY_TO_SECOND
SQL_DL_SQL92_INTERVAL_HOUR_TO_MINUTE
SQL_DL_SQL92_INTERVAL_HOUR_TO_SECOND
SQL_DL_SQL92_INTERVAL_MINUTE_TO_SECOND
SQL_DBMS_NAME 1.0 ドライバーによってアクセスされる DBMS 製品の名前を含む文字列。
SQL_DBMS_VER 1.0 ドライバーによってアクセスされる DBMS 製品のバージョンを示す文字列。 バージョンは ##.##.### という形式で、最初の 2 桁はメジャー バージョン、次の 2 桁はマイナー バージョン、最後の 4 桁はリリース バージョンです。 ドライバーは DBMS 製品バージョンをこの形式でレンダリングする必要がありますが、DBMS 製品固有のバージョンを追加することもできます。 たとえば、"04.01.0000 Rdb 4.1" とします。
SQL_DDL_INDEX 3.0 インデックスの作成と削除のサポートを示す SQLUINTEGER 値。
SQL_DI_CREATE_INDEX
SQL_DI_DROP_INDEX
SQL_DEFAULT_TXN_ISOLATION 1.0 ドライバーまたはデータ ソースでサポートされている既定のトランザクション分離レベルを示す SQLUINTEGER 値。データ ソースがトランザクションをサポートしていない場合は 0。 トランザクション分離レベルを定義するには、次の用語を使用します。
ダーティ リード トランザクション 1 は行を変更します。 トランザクション 2 は、トランザクション 1 が変更をコミットする前に、変更された行を読み取ります。 トランザクション 1 が変更をロールバックすると、トランザクション 2 は存在しなかったと見なされる行を読み取ります。
繰り返し不可能な読み取り トランザクション 1 は行を読み取ります。 トランザクション 2 は、その行を更新または削除し、この変更をコミットします。 トランザクション 1 が行の再読み取りを試みると、異なる行値を受け取るか、行が削除されたことが検出されます。
ファントム トランザクション 1 は、検索条件を満たす一連の行を読み取ります。 トランザクション 2 では、検索条件に一致する 1 つ以上の行が (挿入または更新によって) 生成されます。 トランザクション 1 が行を読み取るステートメントを再実行すると、別の行セットを受け取ります。

データ ソースがトランザクションをサポートしている場合、ドライバーは次のいずれかのビットマスクを返します。
SQL_TXN_READ_UNCOMMITTED = ダーティ読み取り、反復不可能な読み取り、ファントムが可能です。
SQL_TXN_READ_COMMITTED = ダーティ読み取りはできません。 反復不可能な読み取りとファントムが可能です。
SQL_TXN_REPEATABLE_READ = ダーティ読み取りと繰り返し不可能な読み取りはできません。 ファントムが可能です。
SQL_TXN_SERIALIZABLE = トランザクションはシリアル化可能です。 シリアル化可能なトランザクションでは、ダーティ読み取り、反復不可能な読み取り、ファントムは許可されません。
SQL_DESCRIBE_PARAMETER 3.0 パラメーターを記述できる場合は、文字列 "Y" です。"N" (そうでない場合)。

SQL-92 完全レベル準拠ドライバーは、 DESCRIBE INPUT ステートメントをサポートするため、通常は "Y" を返します。 ただし、これは基になる SQL サポートを直接指定しないため、SQL-92 完全レベル準拠ドライバーであっても、パラメーターの記述はサポートされない可能性があります。
SQL_DM_VER 3.0 ドライバー マネージャーのバージョンを含む文字列。 バージョンは##.##.#の形式で、次の場所にあります。
2 桁の最初のセットは、定数SQL_SPEC_MAJORによって指定される ODBC のメジャー バージョンです。
2 桁の 2 桁の 2 番目のセットは、定数SQL_SPEC_MINORによって指定されるマイナー ODBC バージョンです。
4 桁の 3 番目のセットは、ドライバー マネージャーのメジャー ビルド番号です。
最後の 4 桁のセットは、ドライバー マネージャーのマイナー ビルド番号です。
Windows 7 Driver Manager のバージョンは 03.80 です。 Windows 8 ドライバー マネージャーのバージョンは 03.81 です。
SQL_DRIVER_AWARE_POOLING_SUPPORTED 3.8 ドライバーがドライバー対応プールをサポートしているかどうかを示す SQLUINTEGER 値。 (詳細については、「 ドライバー対応接続プール」を参照してください。

SQL_DRIVER_AWARE_POOLING_CAPABLEは、ドライバーがドライバー対応プーリング メカニズムをサポートできることを示します。
SQL_DRIVER_AWARE_POOLING_NOT_CAPABLEは、ドライバーがドライバー対応プーリング メカニズムをサポートできないことを示します。

ドライバーはSQL_DRIVER_AWARE_POOLING_SUPPORTEDを実装する必要はありません。ドライバー マネージャーはドライバーの戻り値を受け入れません。
SQL_DRIVER_HDBCSQL_DRIVER_HENV 1.0 引数 InfoType によって決定される、ドライバーの環境ハンドルまたは接続ハンドルである SQLULEN 値。

これらの情報の種類は、ドライバー マネージャーだけで実装されます。
SQL_DRIVER_HDESC 3.0 SQLULEN 値。ドライバー マネージャーの記述子ハンドルによって決定されるドライバーの記述子ハンドル。これは、アプリケーションから *InfoValuePtr の入力で渡す必要があります。 この場合、 InfoValuePtr は入力引数と出力引数の両方です。 *InfoValuePtr で渡される入力記述子ハンドルは、 ConnectionHandle で明示的または暗黙的に割り当てられている必要があります。

アプリケーションは、この情報の種類で SQLGetInfo を呼び出す前に、ドライバー マネージャーの記述子ハンドルのコピーを作成して、出力時にハンドルが上書きされないようにする必要があります。

この情報の種類は、ドライバー マネージャーだけで実装されます。
SQL_DRIVER_HLIB 2.0 SQLULEN 値。読み込みライブラリの ヒント は、Microsoft Windows オペレーティング システムにドライバー DLL を読み込んだときにドライバー マネージャーに返されます。別のオペレーティング システムでは同等です。 このハンドルは、 SQLGetInfo の呼び出しで指定された接続ハンドルに対してのみ有効です。

この情報の種類は、ドライバー マネージャーだけで実装されます。
SQL_DRIVER_HSTMT 1.0 SQLULEN 値。Driver Manager ステートメント ハンドルによって決定されるドライバーのステートメント ハンドル。これは、アプリケーションから *InfoValuePtr の入力で渡す必要があります。 この場合、 InfoValuePtr は入力引数と出力引数の両方です。 *InfoValuePtr で渡される入力ステートメント ハンドルは、引数 ConnectionHandle に割り当てられている必要があります。

アプリケーションは、この情報の種類で SQLGetInfo を呼び出す前に、ドライバー マネージャーのステートメント ハンドルのコピーを作成して、出力時にハンドルが上書きされないようにする必要があります。

この情報の種類は、ドライバー マネージャーだけで実装されます。
SQL_DRIVER_NAME 1.0 データ ソースへのアクセスに使用されるドライバーのファイル名を含む文字列。
SQL_DRIVER_ODBC_VER 2.0 ドライバーがサポートする ODBC のバージョンを含む文字列。 バージョンは ##.## の形式で、最初の 2 桁はメジャー バージョン、次の 2 桁はマイナー バージョンです。 メジャー バージョン番号とマイナー バージョン番号SQL_SPEC_MAJOR定義SQL_SPEC_MINOR。 このマニュアルで説明されている ODBC のバージョンでは、これらは 3 と 0 であり、ドライバーは "03.00" を返す必要があります。

ODBC ドライバー マネージャーは、既存のアプリケーションの下位互換性を維持するために SQLGetInfo(SQL_DRIVER_ODBC_VER) の戻り値を変更しません。 ドライバーは、返される値を指定します。 ただし、アプリケーションが SQLSetEnvAttr を呼び出して SQL_ATTR_ODBC_VERSION を 3.8 に設定する場合、C データ型の拡張をサポートするドライバーは 3.8 (またはそれ以上) を返す必要があります。 詳細については、「ODBC の C データ型」を参照してください。
SQL_DRIVER_VER 1.0 ドライバーのバージョンと、必要に応じてドライバーの説明を含む文字列。 少なくとも、バージョンは ##.##.#### の形式です。最初の 2 桁はメジャー バージョン、次の 2 桁はマイナー バージョン、最後の 4 桁はリリース バージョンです。
SQL_DROP_ASSERTION 3.0 データ ソースでサポートされている SQL-92 で定義されている DROP ASSERTION ステートメントの句を列挙する SQLUINTEGER ビットマスク。

サポートされている句を決定するには、次のビットマスクを使用します。
SQL_DA_DROP_ASSERTION

SQL-92 完全レベル準拠ドライバーは、常にサポートされているとおりにこのオプションを返します。
SQL_DROP_CHARACTER_SET 3.0 データ ソースでサポートされている SQL-92 で定義されている DROP CHARACTER SET ステートメントの句を列挙する SQLUINTEGER ビットマスク。

サポートされている句を決定するには、次のビットマスクを使用します。
SQL_DCS_DROP_CHARACTER_SET

SQL-92 完全レベル準拠ドライバーは、常にサポートされているとおりにこのオプションを返します。
SQL_DROP_COLLATION 3.0 データ ソースでサポートされている SQL-92 で定義されている DROP COLLATION ステートメントの句を列挙する SQLUINTEGER ビットマスク。

サポートされている句を決定するには、次のビットマスクを使用します。
SQL_DC_DROP_COLLATION

SQL-92 完全レベル準拠ドライバーは、常にサポートされているとおりにこのオプションを返します。
SQL_DROP_DOMAIN 3.0 データ ソースでサポートされている SQL-92 で定義されている DROP DOMAIN ステートメントの句を列挙する SQLUINTEGER ビットマスク。

サポートされている句を決定するには、次のビットマスクを使用します。
SQL_DD_DROP_DOMAIN
SQL_DD_CASCADE
SQL_DD_RESTRICT

SQL-92 中間レベル準拠ドライバーは、サポートされているとおりに常にこれらのオプションをすべて返します。
SQL_DROP_SCHEMA 3.0 データ ソースでサポートされている SQL-92 で定義されている DROP SCHEMA ステートメントの句を列挙する SQLUINTEGER ビットマスク。

サポートされている句を決定するには、次のビットマスクを使用します。
SQL_DS_DROP_SCHEMA
SQL_DS_CASCADE
SQL_DS_RESTRICT

SQL-92 中間レベル準拠ドライバーは、サポートされているとおりに常にこれらのオプションをすべて返します。
SQL_DROP_TABLE 3.0 データ ソースでサポートされている SQL-92 で定義されている DROP TABLE ステートメントの句を列挙する SQLUINTEGER ビットマスク。

サポートされている句を決定するには、次のビットマスクを使用します。
SQL_DT_DROP_TABLE
SQL_DT_CASCADE
SQL_DT_RESTRICT

FIPS 移行レベルに準拠したドライバーは、サポートされているとおりに常にこれらのオプションをすべて返します。
SQL_DROP_TRANSLATION 3.0 データ ソースでサポートされている SQL-92 で定義されている DROP TRANSLATION ステートメントの句を列挙する SQLUINTEGER ビットマスク。

サポートされている句を決定するには、次のビットマスクを使用します。
SQL_DTR_DROP_TRANSLATION

SQL-92 完全レベル準拠ドライバーは、常にサポートされているとおりにこのオプションを返します。
SQL_DROP_VIEW 3.0 データ ソースでサポートされている SQL-92 で定義されている DROP VIEW ステートメントの句を列挙する SQLUINTEGER ビットマスク。

サポートされている句を決定するには、次のビットマスクを使用します。
SQL_DV_DROP_VIEW
SQL_DV_CASCADE
SQL_DV_RESTRICT

FIPS 移行レベルに準拠したドライバーは、サポートされているとおりに常にこれらのオプションをすべて返します。
SQL_DYNAMIC_CURSOR_ATTRIBUTES1 3.0 ドライバーでサポートされている動的カーソルの属性を記述する SQLUINTEGER ビットマスク。 このビットマスクには、属性の最初のサブセットが含まれています。2 番目のサブセットについては、「SQL_DYNAMIC_CURSOR_ATTRIBUTES2」を参照してください。

次のビットマスクを使用して、サポートされている属性を決定します。
SQL_CA1_NEXT = SQL_FETCH_NEXTの FetchOrientation 引数は、カーソルが動的カーソルの場合に SQLFetchScroll の呼び出しでサポートされます。
SQL_CA1_ABSOLUTE = SQL_FETCH_FIRST、SQL_FETCH_LAST、SQL_FETCH_ABSOLUTEの FetchOrientation 引数は、カーソルが動的カーソルの場合に SQLFetchScroll の呼び出しでサポートされます。 (フェッチされる行セットは、現在のカーソル位置とは無関係です)。
SQL_CA1_RELATIVE = SQL_FETCH_PRIOR および SQL_FETCH_RELATIVE の FetchOrientation 引数は、カーソルが動的カーソルの場合に SQLFetchScroll の呼び出しでサポートされます。 (フェッチされる行セットは、現在のカーソル位置によって異なります。これは、順方向専用カーソルではSQL_FETCH_NEXTのみがサポートされているため、SQL_FETCH_NEXTとは分離されることに注意してください。
SQL_CA1_BOOKMARK = SQL_FETCH_BOOKMARKの FetchOrientation 引数は、カーソルが動的カーソルの場合に SQLFetchScroll の呼び出しでサポートされます。
SQL_CA1_LOCK_EXCLUSIVE = SQL_LOCK_EXCLUSIVEの LockType 引数は、カーソルが動的カーソルの場合に SQLSetPos の呼び出しでサポートされます。
SQL_CA1_LOCK_NO_CHANGE = SQL_LOCK_NO_CHANGEの LockType 引数は、カーソルが動的カーソルの場合に SQLSetPos の呼び出しでサポートされます。
SQL_CA1_LOCK_UNLOCK = SQL_LOCK_UNLOCKの LockType 引数は、カーソルが動的カーソルの場合に SQLSetPos の呼び出しでサポートされます。
SQL_CA1_POS_POSITION = カーソルが動的カーソルの場合、SQLSetPos の呼び出しでSQL_POSITIONの Operation 引数がサポートされます。
SQL_CA1_POS_UPDATE = カーソルが動的カーソルの場合、SQLSetPos の呼び出しでは、SQL_UPDATEの Operation 引数がサポートされます。
SQL_CA1_POS_DELETE = SQL_DELETEの Operation 引数は、カーソルが動的カーソルの場合に SQLSetPos の呼び出しでサポートされます。
SQL_CA1_POS_REFRESH = SQL_REFRESHの Operation 引数は、カーソルが動的カーソルの場合に SQLSetPos の呼び出しでサポートされます。
SQL_CA1_POSITIONED_UPDATE = カーソルが動的カーソルの場合、UPDATE WHERE CURRENT OF SQL ステートメントがサポートされます。 (SQL-92 エントリ レベルに準拠したドライバーは、常にサポートされているとおりにこのオプションを返します)。
SQL_CA1_POSITIONED_DELETE = カーソルが動的カーソルの場合、DELETE WHERE CURRENT OF SQL ステートメントがサポートされます。 (SQL-92 エントリ レベルに準拠したドライバーは、常にサポートされているとおりにこのオプションを返します)。
SQL_CA1_SELECT_FOR_UPDATE = カーソルが動的カーソルの場合、SELECT FOR UPDATE SQL ステートメントがサポートされます。 (SQL-92 エントリ レベルに準拠したドライバーは、常にサポートされているとおりにこのオプションを返します)。
SQL_CA1_BULK_ADD = カーソルが動的カーソルの場合、SQLBulkOperations の呼び出しでは、SQL_ADDの Operation 引数がサポートされます。
SQL_CA1_BULK_UPDATE_BY_BOOKMARK = カーソルが動的カーソルの場合、SQLBulkOperations の呼び出しでは、SQL_UPDATE_BY_BOOKMARKの Operation 引数がサポートされます。
SQL_CA1_BULK_DELETE_BY_BOOKMARK = カーソルが動的カーソルの場合、SQLBulkOperations の呼び出しでは、SQL_DELETE_BY_BOOKMARKの Operation 引数がサポートされます。
SQL_CA1_BULK_FETCH_BY_BOOKMARK = SQL_FETCH_BY_BOOKMARK の Operation 引数は、カーソルが動的カーソルの場合に SQLBulkOperations の呼び出しでサポートされます。

SQL-92 中間レベル準拠ドライバーは、埋め込み SQL FETCH ステートメントを介してスクロール可能なカーソルをサポートするため、通常、サポートされているSQL_CA1_NEXT、SQL_CA1_ABSOLUTE、およびSQL_CA1_RELATIVEオプションを返します。 ただし、これは基になる SQL サポートを直接決定しないため、SQL-92 中間レベル準拠ドライバーの場合でも、スクロール可能なカーソルはサポートされない場合があります。
SQL_DYNAMIC_CURSOR_ATTRIBUTES2 3.0 ドライバーでサポートされている動的カーソルの属性を記述する SQLUINTEGER ビットマスク。 このビットマスクには、属性の 2 番目のサブセットが含まれています。最初のサブセットについては、「SQL_DYNAMIC_CURSOR_ATTRIBUTES1」を参照してください。

サポートされている属性を決定するには、次のビットマスクを使用します。
SQL_CA2_READ_ONLY_CONCURRENCY = 更新が許可されていない読み取り専用の動的カーソルがサポートされています。 (SQL_ATTR_CONCURRENCY ステートメント属性は、動的カーソルに対してSQL_CONCUR_READ_ONLYできます)。
SQL_CA2_LOCK_CONCURRENCY = 行の更新がサポートされていることを確認するのに十分な最低レベルのロックを使用する動的カーソル。 (SQL_ATTR_CONCURRENCY ステートメント属性は、動的カーソルに対してSQL_CONCUR_LOCKできます。これらのロックは、SQL_ATTR_TXN_ISOLATION接続属性によって設定されたトランザクション分離レベルと一致している必要があります。
SQL_CA2_OPT_ROWVER_CONCURRENCY = 行のバージョンを比較するオプティミスティック コンカレンシー コントロールを使用する動的カーソルがサポートされています。 (SQL_ATTR_CONCURRENCY ステートメント属性は、動的カーソルに対してSQL_CONCUR_ROWVERできます。
SQL_CA2_OPT_VALUES_CONCURRENCY = 値を比較するオプティミスティック コンカレンシー 制御を使用する動的カーソルがサポートされています。 (SQL_ATTR_CONCURRENCY ステートメント属性は、動的カーソルに対してSQL_CONCUR_VALUESできます)。
SQL_CA2_SENSITIVITY_ADDITIONS = 追加された行は動的カーソルに表示されます。カーソルはそれらの行までスクロールできます。 (これらの行がカーソルに追加される場所は、ドライバーに依存します)。
SQL_CA2_SENSITIVITY_DELETIONS = 削除された行は動的カーソルで使用できなくなり、結果セットに "穴" を残さないでください。動的カーソルが削除された行からスクロールした後、その行に戻ることはできません。
SQL_CA2_SENSITIVITY_UPDATES = 行への更新は動的カーソルに表示されます。動的カーソルがスクロールして更新された行に戻る場合、カーソルによって返されるデータは更新されたデータであり、元のデータではありません。
SQL_CA2_MAX_ROWS_SELECT = SQL_ATTR_MAX_ROWS ステートメント属性は、カーソルが動的カーソルの場合に SELECT ステートメントに影響します。
SQL_CA2_MAX_ROWS_INSERT = SQL_ATTR_MAX_ROWS ステートメント属性は、カーソルが動的カーソルの場合に INSERT ステートメントに影響します。
SQL_CA2_MAX_ROWS_DELETE = SQL_ATTR_MAX_ROWS ステートメント属性は、カーソルが動的カーソルの場合に DELETE ステートメントに影響します。
SQL_CA2_MAX_ROWS_UPDATE = SQL_ATTR_MAX_ROWS ステートメント属性は、カーソルが動的カーソルの場合に UPDATE ステートメントに影響します。
SQL_CA2_MAX_ROWS_CATALOG = SQL_ATTR_MAX_ROWS ステートメント属性は、カーソルが動的カーソルの場合に CATALOG 結果セットに影響します。
SQL_CA2_MAX_ROWS_AFFECTS_ALL = SQL_ATTR_MAX_ROWS ステートメント属性は、 カーソルが動的カーソルの場合、SELECT、 INSERTDELETEおよび UPDATE ステートメント、 および CATALOG 結果セットに影響します。
SQL_CA2_CRC_EXACT = カーソルが動的カーソルの場合、SQL_DIAG_CURSOR_ROW_COUNT診断フィールドで正確な行数を使用できます。
SQL_CA2_CRC_APPROXIMATE = カーソルが動的カーソルの場合、SQL_DIAG_CURSOR_ROW_COUNT診断フィールドでおおよその行数を使用できます。
SQL_CA2_SIMULATE_NON_UNIQUE = ドライバーは、カーソルが動的カーソルの場合、シミュレートされた位置指定の更新または削除ステートメントが 1 つの行にのみ影響することを保証しません。これを保証するのはアプリケーションの責任です。 (ステートメントが複数の行に影響を与える場合、 SQLExecute または SQLExecDirect は SQLSTATE 01001 [カーソル操作の競合] を返します)。この動作を設定するために、アプリケーションは SQLSetStmtAttr を呼び出し、SQL_ATTR_SIMULATE_CURSOR属性を SQL_SC_NON_UNIQUE に設定します。
SQL_CA2_SIMULATE_TRY_UNIQUE = ドライバーは、カーソルが動的カーソルの場合、シミュレートされた位置指定の更新または削除ステートメントが 1 つの行にのみ影響することを保証しようとします。 ドライバーは、一意のキーがない場合など、複数の行に影響を与える可能性がある場合でも、常にこのようなステートメントを実行します。 (ステートメントが複数の行に影響を与える場合、 SQLExecute または SQLExecDirect は SQLSTATE 01001 [カーソル操作の競合] を返します)。この動作を設定するために、アプリケーションは SQLSetStmtAttr を呼び出し、SQL_ATTR_SIMULATE_CURSOR属性を SQL_SC_TRY_UNIQUE に設定します。
SQL_CA2_SIMULATE_UNIQUE = ドライバーは、カーソルが動的カーソルの場合に、シミュレートされた位置指定の更新または削除ステートメントが 1 つの行にのみ影響することを保証します。 ドライバーが特定のステートメントに対してこれを保証できない場合、 SQLExecDirect または SQLPrepare は SQLSTATE 01001 (カーソル操作の競合) を返します。 この動作を設定するために、アプリケーションは SQLSetStmtAttr を呼び出し、SQL_ATTR_SIMULATE_CURSOR属性を SQL_SC_UNIQUE に設定します。
SQL_EXPRESSIONS_IN_ORDERBY 1.0 文字列: "Y" (データ ソースが ORDER BY リスト内の式をサポートしている場合)。"N" でない場合は 。
SQL_FILE_USAGE 2.0 単一層ドライバーがデータ ソース内のファイルを直接処理する方法を示す SQLUSMALLINT 値。
SQL_FILE_NOT_SUPPORTED = ドライバーは単一層ドライバーではありません。 たとえば、ORACLE ドライバーは 2 層ドライバーです。
SQL_FILE_TABLE = 単一層ドライバーは、データ ソース内のファイルをテーブルとして扱います。 たとえば、Xbase ドライバーは各 Xbase ファイルをテーブルとして扱います。
SQL_FILE_CATALOG = 単一層ドライバーは、データ ソース内のファイルをカタログとして扱います。 たとえば、Microsoft Access ドライバーは、各 Microsoft Access ファイルを完全なデータベースとして扱います。

アプリケーションはこれを使用して、ユーザーがデータを選択する方法を決定する場合があります。 たとえば、Xbase ユーザーはデータをファイルに格納していると考えることがよくありますが、ORACLE と Microsoft Access のユーザーは通常、データをテーブルに格納していると考えます。

ユーザーが Xbase データ ソースを選択すると、アプリケーションで [Windows ファイルを開く ] 共通ダイアログ ボックスが表示されます。ユーザーが Microsoft Access または ORACLE データ ソースを選択すると、アプリケーションはカスタムの [テーブルの 選択 ] ダイアログ ボックスを表示できます。
SQL_FORWARD_ONLY_CURSOR_ATTRIBUTES1 3.0 ドライバーでサポートされている順方向専用カーソルの属性を記述する SQLUINTEGER ビットマスク。 このビットマスクには、属性の最初のサブセットが含まれています。2 番目のサブセットについては、「SQL_FORWARD_ONLY_CURSOR_ATTRIBUTES2」を参照してください。

サポートされている属性を決定するには、次のビットマスクを使用します。
SQL_CA1_NEXT
SQL_CA1_LOCK_EXCLUSIVE
SQL_CA1_LOCK_NO_CHANGE
SQL_CA1_LOCK_UNLOCK
SQL_CA1_POS_POSITION
SQL_CA1_POS_UPDATE
SQL_CA1_POS_DELETE
SQL_CA1_POS_REFRESH
SQL_CA1_POSITIONED_UPDATE
SQL_CA1_POSITIONED_DELETE
SQL_CA1_SELECT_FOR_UPDATE
SQL_CA1_BULK_ADD
SQL_CA1_BULK_UPDATE_BY_BOOKMARK
SQL_CA1_BULK_DELETE_BY_BOOKMARK
SQL_CA1_BULK_FETCH_BY_BOOKMARK

これらのビットマスクの説明については、「SQL_DYNAMIC_CURSOR_ATTRIBUTES1」を参照してください (説明の「動的カーソル」に「前方専用カーソル」を置き換える)。
SQL_FORWARD_ONLY_CURSOR_ATTRIBUTES2 3.0 ドライバーでサポートされている順方向専用カーソルの属性を記述する SQLUINTEGER ビットマスク。 このビットマスクには、属性の 2 番目のサブセットが含まれています。最初のサブセットについては、「SQL_FORWARD_ONLY_CURSOR_ATTRIBUTES1」を参照してください。

サポートされている属性を決定するには、次のビットマスクを使用します。
SQL_CA2_READ_ONLY_CONCURRENCY
SQL_CA2_LOCK_CONCURRENCY
SQL_CA2_OPT_ROWVER_CONCURRENCY
SQL_CA2_OPT_VALUES_CONCURRENCY
SQL_CA2_SENSITIVITY_ADDITIONS
SQL_CA2_SENSITIVITY_DELETIONS
SQL_CA2_SENSITIVITY_UPDATES
SQL_CA2_MAX_ROWS_SELECT
SQL_CA2_MAX_ROWS_INSERT
SQL_CA2_MAX_ROWS_DELETE
SQL_CA2_MAX_ROWS_UPDATE
SQL_CA2_MAX_ROWS_CATALOG
SQL_CA2_MAX_ROWS_AFFECTS_ALL
SQL_CA2_CRC_EXACT
SQL_CA2_CRC_APPROXIMATE
SQL_CA2_SIMULATE_NON_UNIQUE
SQL_CA2_SIMULATE_TRY_UNIQUE
SQL_CA2_SIMULATE_UNIQUE

これらのビットマスクの説明については、「SQL_DYNAMIC_CURSOR_ATTRIBUTES2」を参照してください (説明の「動的カーソル」に「前方専用カーソル」を置き換える)。
SQL_GETDATA_EXTENSIONS 2.0 SQLGetData への拡張機能を列挙する SQLUINTEGER ビットマスク。

次のビットマスクは、 フラグと共に使用され、ドライバーが SQLGetData に対してサポートする一般的な拡張機能を決定します。
SQL_GD_ANY_COLUMN = SQLGetData は、最後にバインドされた列の前の列を含め、バインドされていない列に対して呼び出すことができます。 SQL_GD_ANY_ORDERも返されない限り、列を昇順で呼び出す必要があることに注意してください。
SQL_GD_ANY_ORDER = SQLGetData は、バインドされていない列に対して任意の順序で呼び出すことができます。 sqlGetData は、SQL_GD_ANY_COLUMNも返されない限り、最後にバインドされた列の後の列に対してのみ呼び出すことができることに注意してください。
SQL_GD_BLOCK = SQLGetData は、 SQLSetPos を使用してその行に配置した後、ブロック内の任意の行 (行セット サイズが 1 より大きい) データの非連結列に対して呼び出すことができます。
SQL_GD_BOUND = バインドされていない列に加えて、バインドされた列に 対して SQLGetData を呼び出すことができます。 ドライバーは、SQL_GD_ANY_COLUMNも返さない限り、この値を返すことができません。
SQL_GD_OUTPUT_PARAMS = SQLGetData を呼び出して、出力パラメーター値を返すことができます。 詳細については、「 SQLGetData を使用した出力パラメーターの取得」を参照してください。

SQLGetData は、最後にバインドされた列の後に発生し、列番号を増やす順序で呼び出され、行ブロック内の行に含まれていない非連結列からのみデータを返す必要があります。

ドライバーがブックマーク (固定長または可変長) をサポートしている場合は、列 0 での SQLGetData の呼び出しをサポートする必要があります。 このサポートは、SQL_GETDATA_EXTENSIONS InfoType を使用した SQLGetInfo の呼び出しに対してドライバーが返す内容に関係なく必要です。
SQL_GROUP_BY 2.0 GROUP BY 句内の列と選択リスト内の非集計列の間のリレーションシップを指定する SQLUSMALLINT 値。
SQL_GB_COLLATE = COLLATE 句は、各グループ化列の末尾に指定できます。 (ODBC 3.0)
SQL_GB_NOT_SUPPORTED = GROUP BY 句はサポートされていません。 (ODBC 2.0)
SQL_GB_GROUP_BY_EQUALS_SELECT = GROUP BY 句には、選択リスト内のすべての非集計列が含まれている必要があります。 他の列を含めることはできません。 たとえば、 SELECT DEPT、MAX(SALARY) FROM EMPLOYEE GROUP BY DEPT です。 (ODBC 2.0)
SQL_GB_GROUP_BY_CONTAINS_SELECT = GROUP BY 句には、選択リスト内のすべての非集計列が含まれている必要があります。 選択リストにない列を含めることができます。 たとえば、 SELECT DEPT、MAX(SALARY) FROM EMPLOYEE GROUP BY DEPT、 AGE などです。 (ODBC 2.0)
SQL_GB_NO_RELATION = GROUP BY 句内の列と選択リストは関連しません。 選択リストの非グループ化された非集計列の意味は、データ ソースに依存します。 たとえば、 SELECT DEPT、SALARY FROM EMPLOYEE GROUP BY DEPT、AGE などです。 (ODBC 2.0)

SQL-92 エントリ レベル準拠ドライバーは、サポートされているSQL_GB_GROUP_BY_EQUALS_SELECT オプションを常に返します。 SQL-92 完全レベル準拠ドライバーは、常にサポートされているSQL_GB_COLLATE オプションを返します。 どのオプションもサポートされていない場合、 GROUP BY 句はデータ ソースでサポートされません。
SQL_IDENTIFIER_CASE 1.0 SQLUSMALLINT 値を次に示します。
SQL_IC_UPPER = SQL の識別子では大文字と小文字は区別されず、システム カタログに大文字で格納されます。
SQL_IC_LOWER = SQL の識別子では大文字と小文字は区別されず、システム カタログでは小文字で格納されます。
SQL_IC_SENSITIVE = SQL の識別子は大文字と小文字が区別され、システム カタログに大文字と小文字が混在して格納されます。
SQL_IC_MIXED = SQL の識別子では大文字と小文字は区別されず、システム カタログ内の大文字と小文字が混在して格納されます。

SQL-92 の識別子では大文字と小文字が区別されないため、SQL-92 (任意のレベル) に厳密に準拠しているドライバーは、サポートされているSQL_IC_SENSITIVE オプションを返すことはありません。
SQL_IDENTIFIER_QUOTE_CHAR 1.0 SQL ステートメントで引用符で囲まれた (区切り記号付き) 識別子の開始区切り記号と終了区切り記号として使用される文字列。 (ODBC 関数に引数として渡される識別子を引用符で囲む必要はありません)。データ ソースが引用符で囲まれた識別子をサポートしていない場合は、空白が返されます。

この文字列は、接続属性SQL_ATTR_METADATA_IDが SQL_TRUE に設定されている場合にカタログ関数の引数を引用符で囲む場合にも使用できます。

SQL-92 の識別子引用符文字は二重引用符 (") であるため、SQL-92 に厳密に準拠するドライバーは常に二重引用符文字を返します。
SQL_INDEX_KEYWORDS 3.0 ドライバーでサポートされている CREATE INDEX ステートメントのキーワードを列挙する SQLUINTEGER ビットマスク。
SQL_IK_NONE = どのキーワードもサポートされていません。
SQL_IK_ASC = ASC キーワードがサポートされています。
SQL_IK_DESC = DESC キーワードがサポートされています。
SQL_IK_ALL = すべてのキーワードがサポートされています。

CREATE INDEX ステートメントがサポートされているかどうかを確認するために、アプリケーションは、SQL_DLL_INDEX情報型を使用して SQLGetInfo を呼び出します。
SQL_INFO_SCHEMA_VIEWS 3.0 ドライバーでサポートされているINFORMATION_SCHEMA内のビューを列挙する SQLUINTEGER ビットマスク。 INFORMATION_SCHEMA内のビューとの内容は、SQL-92 で定義されているとおりです。

この機能をサポートする必要がある SQL-92 または FIPS 準拠レベルは、各ビットマスクの横のかっこで囲んで表示されます。

サポートされているビューを決定するには、次のビットマスクを使用します。
SQL_ISV_ASSERTIONS = 特定のユーザーが所有するカタログのアサーションを識別します。 (フル レベル)
SQL_ISV_CHARACTER_SETS = 特定のユーザーがアクセスできるカタログの文字セットを識別します。 (中間レベル)
SQL_ISV_CHECK_CONSTRAINTS = 特定のユーザーが所有する CHECK 制約を識別します。 (中間レベル)
SQL_ISV_COLLATIONS = 特定のユーザーがアクセスできるカタログの文字照合順序を識別します。 (フル レベル)
SQL_ISV_COLUMN_DOMAIN_USAGE = カタログで定義されているドメインに依存し、特定のユーザーが所有するカタログの列を識別します。 (中間レベル)
SQL_ISV_COLUMN_PRIVILEGES = 特定のユーザーが使用または付与する永続テーブルの列に対する特権を識別します。 (FIPS 移行レベル)
SQL_ISV_COLUMNS = 特定のユーザーがアクセスできる永続テーブルの列を識別します。 (FIPS 移行レベル)
SQL_ISV_CONSTRAINT_COLUMN_USAGE = CONSTRAINT_TABLE_USAGE ビューと同様に、特定のユーザーが所有するさまざまな制約に対して列が識別されます。 (中間レベル)
SQL_ISV_CONSTRAINT_TABLE_USAGE = 制約 (参照、一意、アサーション) によって使用され、特定のユーザーが所有するテーブルを識別します。 (中間レベル)
SQL_ISV_DOMAIN_CONSTRAINTS = 特定のユーザーがアクセスできる (カタログ内のドメインの) ドメイン制約を識別します。 (中間レベル)
SQL_ISV_DOMAINS = ユーザーがアクセスできるカタログで定義されているドメインを識別します。 (中間レベル)
SQL_ISV_KEY_COLUMN_USAGE = 特定のユーザーによってキーとして制約されているカタログで定義されている列を識別します。 (中間レベル)
SQL_ISV_REFERENTIAL_CONSTRAINTS = 特定のユーザーが所有する参照制約を識別します。 (中間レベル)
SQL_ISV_SCHEMATA = 特定のユーザーが所有するスキーマを識別します。 (中間レベル)
SQL_ISV_SQL_LANGUAGES = SQL 実装でサポートされている SQL 準拠レベル、オプション、言語を識別します。 (中間レベル)
SQL_ISV_TABLE_CONSTRAINTS = 特定のユーザーが所有するテーブル制約を識別します。 (中間レベル)
SQL_ISV_TABLE_PRIVILEGES = 特定のユーザーが使用または付与する永続テーブルに対する特権を識別します。 (FIPS 移行レベル)
SQL_ISV_TABLES = 特定のユーザーがアクセスできるカタログで定義されている永続テーブルを識別します。 (FIPS 移行レベル)
SQL_ISV_TRANSLATIONS = 特定のユーザーがアクセスできるカタログの文字変換を識別します。 (フル レベル)
SQL_ISV_USAGE_PRIVILEGES = 特定のユーザーが使用できる、または所有しているカタログ オブジェクトに対する USAGE 特権を識別します。 (FIPS 移行レベル)
SQL_ISV_VIEW_COLUMN_USAGE = 特定のユーザーが所有するカタログのビューが依存している列を識別します。 (中間レベル)
SQL_ISV_VIEW_TABLE_USAGE = 特定のユーザーが所有するカタログのビューが依存しているテーブルを識別します。 (中間レベル)
SQL_ISV_VIEWS = 特定のユーザーがアクセスできる、このカタログで定義されている表示テーブルを識別します。 (FIPS 移行レベル)
SQL_INSERT_STATEMENT 3.0 INSERT ステートメントのサポートを示す SQLUINTEGER ビットマスク:
SQL_IS_INSERT_LITERALS
SQL_IS_INSERT_SEARCHED
SQL_IS_SELECT_INTO

SQL-92 エントリ レベル準拠ドライバーは、サポートされているとおりに常にこれらのオプションをすべて返します。
SQL_INTEGRITY 1.0 文字列: "Y" (データ ソースが整合性拡張機能をサポートしている場合)。"N" でない場合は 。

この インフォタイプ は ODBC 3.0 の名前が ODBC 2.0 InfoType SQL_ODBC_SQL_OPT_IEFから変更されました。
SQL_KEYSET_CURSOR_ATTRIBUTES1 3.0 ドライバーでサポートされているキーセット カーソルの属性を記述する SQLUINTEGER ビットマスク。 このビットマスクには、属性の最初のサブセットが含まれています。2 番目のサブセットについては、「SQL_KEYSET_CURSOR_ATTRIBUTES2」を参照してください。

サポートされている属性を決定するには、次のビットマスクを使用します。
SQL_CA1_NEXT
SQL_CA1_ABSOLUTE
SQL_CA1_RELATIVE
SQL_CA1_BOOKMARK
SQL_CA1_LOCK_EXCLUSIVE
SQL_CA1_LOCK_NO_CHANGE
SQL_CA1_LOCK_UNLOCK
SQL_CA1_POS_POSITION
SQL_CA1_POS_UPDATE
SQL_CA1_POS_DELETE
SQL_CA1_POS_REFRESH
SQL_CA1_POSITIONED_UPDATE
SQL_CA1_POSITIONED_DELETE
SQL_CA1_SELECT_FOR_UPDATE
SQL_CA1_BULK_ADD
SQL_CA1_BULK_UPDATE_BY_BOOKMARK
SQL_CA1_BULK_DELETE_BY_BOOKMARK
SQL_CA1_BULK_FETCH_BY_BOOKMARK

これらのビットマスクの説明については、「SQL_DYNAMIC_CURSOR_ATTRIBUTES1」を参照してください (説明では、"動的カーソル" に "keyset ドリブン カーソル" を置き換える)。

SQL-92 中間レベル準拠ドライバーは、通常、サポートされているSQL_CA1_NEXT、SQL_CA1_ABSOLUTE、およびSQL_CA1_RELATIVEオプションを返します。これは、ドライバーが埋め込み SQL FETCH ステートメントを介してスクロール可能なカーソルをサポートするためです。 ただし、これは基になる SQL サポートを直接決定しないため、SQL-92 中間レベル準拠ドライバーの場合でも、スクロール可能なカーソルはサポートされない場合があります。
SQL_KEYSET_CURSOR_ATTRIBUTES2 3.0 ドライバーでサポートされているキーセット カーソルの属性を記述する SQLUINTEGER ビットマスク。 このビットマスクには、属性の 2 番目のサブセットが含まれています。最初のサブセットについては、「SQL_KEYSET_CURSOR_ATTRIBUTES1」を参照してください。

サポートされている属性を決定するには、次のビットマスクを使用します。
SQL_CA2_READ_ONLY_CONCURRENCY
SQL_CA2_LOCK_CONCURRENCY
SQL_CA2_OPT_ROWVER_CONCURRENCY
SQL_CA2_OPT_VALUES_CONCURRENCY
SQL_CA2_SENSITIVITY_ADDITIONS
SQL_CA2_SENSITIVITY_DELETIONS
SQL_CA2_SENSITIVITY_UPDATES
SQL_CA2_MAX_ROWS_SELECT
SQL_CA2_MAX_ROWS_INSERT
SQL_CA2_MAX_ROWS_DELETE
SQL_CA2_MAX_ROWS_UPDATE
SQL_CA2_MAX_ROWS_CATALOG
SQL_CA2_MAX_ROWS_AFFECTS_ALL
SQL_CA2_CRC_EXACT
SQL_CA2_CRC_APPROXIMATE
SQL_CA2_SIMULATE_NON_UNIQUE
SQL_CA2_SIMULATE_TRY_UNIQUE
SQL_CA2_SIMULATE_UNIQUE

これらのビットマスクの説明については、「SQL_DYNAMIC_CURSOR_ATTRIBUTES1」を参照してください (説明では、"動的カーソル" に "keyset ドリブン カーソル" を置き換える)。
SQL_KEYWORDS 2.0 すべてのデータ ソース固有のキーワードのコンマ区切りリストを含む文字列。 このリストには、ODBC に固有のキーワードや、データ ソースと ODBC の両方で使用されるキーワードは含まれません。 このリストは、すべての予約済みキーワードを表します。相互運用可能なアプリケーションでは、オブジェクト名にこれらの単語を使用しないでください。

ODBC キーワードの一覧については、「付録 C: SQL 文法」の「予約済みキーワード」を参照してください。 #define値SQL_ODBC_KEYWORDSには、ODBC キーワードのコンマ区切りのリストが含まれています。
SQL_LIKE_ESCAPE_CLAUSE 2.0 LIKE 述語でデータ ソースがパーセント文字 (%) とアンダースコア文字 (_) のエスケープ文字をサポートし、ドライバーが LIKE 述語エスケープ文字を定義するための ODBC 構文をサポートしている場合は、"Y" という文字列。それ以外の場合は "N" です。
SQL_MAX_ASYNC_CONCURRENT_STATEMENTS 3.0 特定の接続でドライバーがサポートできる非同期モードでのアクティブな同時実行ステートメントの最大数を指定する SQLUINTEGER 値。 特定の制限がない場合、または制限が不明な場合、この値は 0 です。
SQL_MAX_BINARY_LITERAL_LEN 2.0 SQL ステートメント内のバイナリ リテラルの最大長 ( SQLGetTypeInfo によって返されるリテラル プレフィックスとサフィックスを除く 16 進数文字の数) を指定する SQLUINTEGER 値。 たとえば、バイナリ リテラル 0xFFAAの長さは 4 です。 最大長がない場合、または長さが不明な場合、この値は 0 に設定されます。
SQL_MAX_CATALOG_NAME_LEN 1.0 データ ソース内のカタログ名の最大長を指定する SQLUSMALLINT 値。 最大長がない場合、または長さが不明な場合、この値は 0 に設定されます。

FIPS 完全レベル準拠ドライバーは、少なくとも 128 を返します。

ODBC 3.0 では、この インフォタイプ の名前が ODBC 2.0 InfoType SQL_MAX_QUALIFIER_NAME_LENから変更されました。
SQL_MAX_CHAR_LITERAL_LEN 2.0 SQL ステートメント内の文字リテラルの最大長 ( SQLGetTypeInfo によって返されるリテラル プレフィックスとサフィックスを除く文字数) を指定する SQLUINTEGER 値。 最大長がない場合、または長さが不明な場合、この値は 0 に設定されます。
SQL_MAX_COLUMN_NAME_LEN 1.0 データ ソース内の列名の最大長を指定する SQLUSMALLINT 値。 最大長がない場合、または長さが不明な場合、この値は 0 に設定されます。

FIPS エントリ レベル準拠ドライバーは、少なくとも 18 を返します。 FIPS 中間レベル準拠ドライバーは、少なくとも 128 を返します。
SQL_MAX_COLUMNS_IN_GROUP_BY 2.0 GROUP BY 句で許可される列の最大数を指定する SQLUSMALLINT 値。 指定された制限がない場合、または制限が不明な場合、この値は 0 に設定されます。

FIPS エントリ レベル準拠ドライバーは、少なくとも 6 を返します。 FIPS 中間レベル準拠ドライバーは、少なくとも 15 を返します。
SQL_MAX_COLUMNS_IN_INDEX 2.0 インデックスで許可される列の最大数を指定する SQLUSMALLINT 値。 指定された制限がない場合、または制限が不明な場合、この値は 0 に設定されます。
SQL_MAX_COLUMNS_IN_ORDER_BY 2.0 ORDER BY 句で許可される列の最大数を指定する SQLUSMALLINT 値。 指定された制限がない場合、または制限が不明な場合、この値は 0 に設定されます。

FIPS エントリ レベル準拠ドライバーは、少なくとも 6 を返します。 FIPS 中間レベル準拠ドライバーは、少なくとも 15 を返します。
SQL_MAX_COLUMNS_IN_SELECT 2.0 選択リストで許可される列の最大数を指定する SQLUSMALLINT 値。 指定された制限がない場合、または制限が不明な場合、この値は 0 に設定されます。

FIPS エントリ レベル準拠ドライバーは、少なくとも 100 を返します。 FIPS 中間レベル準拠ドライバーは、少なくとも 250 を返します。
SQL_MAX_COLUMNS_IN_TABLE 2.0 テーブルで許可される列の最大数を指定する SQLUSMALLINT 値。 指定された制限がない場合、または制限が不明な場合、この値は 0 に設定されます。

FIPS エントリ レベル準拠ドライバーは、少なくとも 100 を返します。 FIPS 中間レベル準拠ドライバーは、少なくとも 250 を返します。
SQL_MAX_CONCURRENT_ACTIVITIES 1.0 ドライバーが接続をサポートできるアクティブなステートメントの最大数を指定する SQLUSMALLINT 値。 ステートメントは、結果が保留中の場合はアクティブとして定義され、"results" という用語は SELECT 操作の行、INSERT、UPDATE、または DELETE 操作の影響を受ける行 (行数など) を意味し、またはNEED_DATA状態の場合はアクティブとして定義されます。 この値は、ドライバーまたはデータ ソースによって課される制限を反映できます。 指定された制限がない場合、または制限が不明な場合、この値は 0 に設定されます。

ODBC 3.0 の このインフォタイプ の名前は、ODBC 2.0 InfoType SQL_ACTIVE_STATEMENTSから変更されました。
SQL_MAX_CURSOR_NAME_LEN 1.0 データ ソース内のカーソル名の最大長を指定する SQLUSMALLINT 値。 最大長がない場合、または長さが不明な場合、この値は 0 に設定されます。

FIPS エントリ レベル準拠ドライバーは、少なくとも 18 を返します。 FIPS 中間レベル準拠ドライバーは、少なくとも 128 を返します。
SQL_MAX_DRIVER_CONNECTIONS 1.0 ドライバーが環境に対してサポートできるアクティブな接続の最大数を指定する SQLUSMALLINT 値。 この値は、ドライバーまたはデータ ソースによって課される制限を反映できます。 指定された制限がない場合、または制限が不明な場合、この値は 0 に設定されます。

ODBC 3.0 の このインフォタイプ の名前は、ODBC 2.0 InfoType SQL_ACTIVE_CONNECTIONSから変更されました。
SQL_MAX_IDENTIFIER_LEN 3.0 データ ソースがユーザー定義名に対してサポートする最大サイズを文字数で示す SQLUSMALLINT。

FIPS エントリ レベル準拠ドライバーは、少なくとも 18 を返します。 FIPS 中間レベル準拠ドライバーは、少なくとも 128 を返します。
SQL_MAX_INDEX_SIZE 2.0 インデックスの結合フィールドで許容される最大バイト数を指定する SQLUINTEGER 値。 指定された制限がない場合、または制限が不明な場合、この値は 0 に設定されます。
SQL_MAX_PROCEDURE_NAME_LEN 1.0 データ ソース内のプロシージャ名の最大長を指定する SQLUSMALLINT 値。 最大長がない場合、または長さが不明な場合、この値は 0 に設定されます。
SQL_MAX_ROW_SIZE 2.0 テーブル内の 1 行の最大長を指定する SQLUINTEGER 値。 指定された制限がない場合、または制限が不明な場合、この値は 0 に設定されます。

FIPS エントリ レベル準拠ドライバーは、少なくとも 2,000 を返します。 FIPS 中間レベル準拠ドライバーは、少なくとも 8,000 を返します。
SQL_MAX_ROW_SIZE_INCLUDES_LONG 3.0 SQL_MAX_ROW_SIZE情報型に返される最大行サイズに、行内のすべてのSQL_LONGVARCHAR列とSQL_LONGVARBINARY列の長さが含まれる場合は、"Y" という文字列。それ以外の場合は "N" です。
SQL_MAX_SCHEMA_NAME_LEN 1.0 データ ソース内のスキーマ名の最大長を指定する SQLUSMALLINT 値。 最大長がない場合、または長さが不明な場合、この値は 0 に設定されます。

FIPS エントリ レベル準拠ドライバーは、少なくとも 18 を返します。 FIPS 中間レベル準拠ドライバーは、少なくとも 128 を返します。

この インフォタイプ は ODBC 3.0 の名前が ODBC 2.0 InfoType SQL_MAX_OWNER_NAME_LENから変更されました。
SQL_MAX_STATEMENT_LEN 2.0 SQL ステートメントの最大長 (空白を含む文字数) を指定する SQLUINTEGER 値。 最大長がない場合、または長さが不明な場合、この値は 0 に設定されます。
SQL_MAX_TABLE_NAME_LEN 1.0 データ ソース内のテーブル名の最大長を指定する SQLUSMALLINT 値。 最大長がない場合、または長さが不明な場合、この値は 0 に設定されます。

FIPS エントリ レベル準拠ドライバーは、少なくとも 18 を返します。 FIPS 中間レベル準拠ドライバーは、少なくとも 128 を返します。
SQL_MAX_TABLES_IN_SELECT 2.0 SELECT ステートメントの FROM 句で許可されるテーブルの最大数を指定する SQLUSMALLINT 値。 指定された制限がない場合、または制限が不明な場合、この値は 0 に設定されます。

FIPS エントリ レベル準拠ドライバーは、少なくとも 15 を返します。 FIPS 中間レベル準拠ドライバーは、少なくとも 50 を返します。
SQL_MAX_USER_NAME_LEN 2.0 データ ソース内のユーザー名の最大長を指定する SQLUSMALLINT 値。 最大長がない場合、または長さが不明な場合、この値は 0 に設定されます。
SQL_MULT_RESULT_SETS 1.0 文字列: データ ソースが複数の結果セットをサポートしている場合は "Y" 、サポートされていない場合は "N" です。

複数の結果セットの詳細については、「 複数の結果」を参照してください。
SQL_MULTIPLE_ACTIVE_TXN 1.0 ドライバーが同時に複数のアクティブなトランザクションをサポートしている場合は "Y" 、いつでもアクティブにできるトランザクションが 1 つだけの場合は "N" という文字列。

分散トランザクションの場合、この情報の種類に対して返される情報は適用されません。
SQL_NEED_LONG_DATA_LEN 2.0 文字列: データ ソースが長いデータ値の長さ (データ型がSQL_LONGVARCHAR、SQL_LONGVARBINARY、または長いデータ ソース固有のデータ型) を必要とする場合は、その値がデータ ソースに送信される前に "Y" 、そうでない場合は "N" です。 詳細については、「 SQLBindParameter 関数 」および 「SQLSetPos 関数」を参照してください。
SQL_NON_NULLABLE_COLUMNS 1.0 データ ソースが列で NOT NULL をサポートするかどうかを指定する SQLUSMALLINT 値。
SQL_NNC_NULL = すべての列は null 許容である必要があります。
SQL_NNC_NON_NULL = 列を null 許容にすることはできません。 (データ ソースでは、CREATE TABLE ステートメントの NOT NULL 列制約がサポートされています)。

SQL-92 エントリ レベル準拠ドライバーは、SQL_NNC_NON_NULLを返します。
SQL_NULL_COLLATION 2.0 結果セットで NULL を並べ替える場所を指定する SQLUSMALLINT 値。
SQL_NC_END = NULL は、ASC キーワードまたは DESC キーワードに関係なく、結果セットの最後に並べ替えられます。
SQL_NC_HIGH = NULL は、ASC キーワードまたは DESC キーワードに応じて、結果セットのハイエンドで並べ替えられます。
SQL_NC_LOW = NULL は、ASC キーワードまたは DESC キーワードに応じて、結果セットのロー エンドで並べ替えられます。
SQL_NC_START = NULL は、ASC キーワードまたは DESC キーワードに関係なく、結果セットの先頭で並べ替えられます。
SQL_NUMERIC_FUNCTIONS 1.0 注: 情報の種類は ODBC 1.0 で導入されました。各ビットマスクには、導入されたバージョンでラベルが付きます。

ドライバーと関連するデータ ソースでサポートされるスカラー数値関数を列挙する SQLUINTEGER ビットマスク。

サポートされている数値関数を決定するには、次のビットマスクを使用します。
SQL_FN_NUM_ABS (ODBC 1.0)
SQL_FN_NUM_ACOS (ODBC 1.0)
SQL_FN_NUM_ASIN (ODBC 1.0)
SQL_FN_NUM_ATAN (ODBC 1.0)
SQL_FN_NUM_ATAN2 (ODBC 1.0)
SQL_FN_NUM_CEILING (ODBC 1.0)
SQL_FN_NUM_COS (ODBC 1.0)
SQL_FN_NUM_COT (ODBC 1.0)
SQL_FN_NUM_DEGREES (ODBC 2.0)
SQL_FN_NUM_EXP (ODBC 1.0)
SQL_FN_NUM_FLOOR (ODBC 1.0)
SQL_FN_NUM_LOG (ODBC 1.0)
SQL_FN_NUM_LOG10 (ODBC 2.0)
SQL_FN_NUM_MOD (ODBC 1.0)
SQL_FN_NUM_PI (ODBC 1.0)
SQL_FN_NUM_POWER (ODBC 2.0)
SQL_FN_NUM_RADIANS (ODBC 2.0)
SQL_FN_NUM_RAND (ODBC 1.0)
SQL_FN_NUM_ROUND (ODBC 2.0)
SQL_FN_NUM_SIGN (ODBC 1.0)
SQL_FN_NUM_SIN (ODBC 1.0)
SQL_FN_NUM_SQRT (ODBC 1.0)
SQL_FN_NUM_TAN (ODBC 1.0)
SQL_FN_NUM_TRUNCATE (ODBC 2.0)
SQL_ODBC_INTERFACE_CONFORMANCE 3.0 ドライバーが準拠している ODBC 3*.x* インターフェイスのレベルを示す SQLUINTEGER 値。

SQL_OIC_CORE: すべての ODBC ドライバーが準拠することが期待される最小レベル。 このレベルには、接続関数、SQL ステートメントを準備および実行するための関数、基本的な結果セット メタデータ関数、基本的なカタログ関数などの基本的なインターフェイス要素が含まれます。
SQL_OIC_LEVEL1: コア標準コンプライアンス レベル機能、スクロール可能なカーソル、ブックマーク、配置された更新と削除などを含むレベル。
SQL_OIC_LEVEL2: レベル 1 の標準コンプライアンス レベルの機能に加えて、機密性の高いカーソルなどの高度な機能を含むレベル。ブックマークによる更新、削除、および更新。ストアド プロシージャのサポート。主キーと外部キーのカタログ関数。マルチカタログのサポート。などなど。

詳細については、「 インターフェイス準拠レベル」を参照してください。
SQL_ODBC_VER 1.0 ドライバー マネージャーが準拠する ODBC のバージョンを含む文字列。 バージョンは ##.##.0000 という形式で、最初の 2 桁はメジャー バージョン、次の 2 桁はマイナー バージョンです。 これは、ドライバー マネージャーでのみ実装されます。
SQL_OJ_CAPABILITIES 2.01 ドライバーとデータ ソースでサポートされている外部結合の種類を列挙する SQLUINTEGER ビットマスク。 サポートされている型を決定するには、次のビットマスクを使用します。
SQL_OJ_LEFT = 左外部結合がサポートされています。
SQL_OJ_RIGHT = 右外部結合がサポートされています。
SQL_OJ_FULL = 完全外部結合がサポートされています。
SQL_OJ_NESTED = 入れ子になった外部結合がサポートされています。
SQL_OJ_NOT_ORDERED = 外部結合の ON 句の列名は、 OUTER JOIN 句のそれぞれのテーブル名と同じ順序である必要はありません。
SQL_OJ_INNER = 内部テーブル (左外部結合の右テーブルまたは右外部結合の左テーブル) は、内部結合でも使用できます。 これは、内部テーブルを持たない完全外部結合には適用されません。
SQL_OJ_ALL_COMPARISON_OPS = ON 句の比較演算子には、任意の ODBC 比較演算子を指定できます。 このビットが設定されていない場合は、外部結合で等号 (=) 比較演算子のみを使用できます。

これらのオプションがサポートされているとおりに返されない場合、外部結合句はサポートされません。

SQL-92 で定義されている SELECT ステートメントでのリレーショナル結合演算子のサポートについては、「SQL_SQL92_RELATIONAL_JOIN_OPERATORS」を参照してください。
SQL_ORDER_BY_COLUMNS_IN_SELECT 2.0 ORDER BY 句の列が選択リストに含まれている必要がある場合は、文字列 "Y" です。それ以外の場合は、"N" です。
SQL_PARAM_ARRAY_ROW_COUNTS 3.0 パラメーター化された実行での行数の可用性に関するドライバーのプロパティを列挙する SQLUINTEGER。 次の値があります。
SQL_PARC_BATCH = パラメーターのセットごとに個々の行数を使用できます。 これは概念的には、配列内のパラメーター セットごとに 1 つずつ、SQL ステートメントのバッチを生成するドライバーと同じです。 拡張エラー情報は、SQL_PARAM_STATUS_PTR記述子フィールドを使用して取得できます。
SQL_PARC_NO_BATCH = 使用可能な行数は 1 つだけです。これは、パラメーターの配列全体に対する ステートメントの実行に起因する累積行数です。 これは概念的には、 ステートメントを完全なパラメーター配列と共に 1 つのアトミック単位として扱うのと同じです。 エラーは、1 つのステートメントが実行された場合と同じように処理されます。
SQL_PARAM_ARRAY_SELECTS 3.0 パラメーター化された実行での結果セットの可用性に関するドライバーのプロパティを列挙する SQLUINTEGER。 次の値があります。
SQL_PAS_BATCH = パラメーターのセットごとに 1 つの結果セットを使用できます。 これは概念的には、配列に設定されたパラメーターごとに 1 つずつ、SQL ステートメントのバッチを生成するドライバーと同じです。
SQL_PAS_NO_BATCH = 使用可能な結果セットは 1 つだけです。これは、パラメーターの完全な配列に対する ステートメントの実行に起因する累積結果セットを表します。 これは概念的には、 ステートメントを完全なパラメーター配列と共に 1 つのアトミック単位として扱うのと同じです。
SQL_PAS_NO_SELECT = ドライバーでは、パラメーターの配列を使用して結果セット生成ステートメントを実行することはできません。
SQL_POS_OPERATIONS 2.0 SQLSetPos でのサポート操作を列挙する SQLINTEGER ビットマスク。

次のビットマスクは、 フラグと共に使用して、サポートされているオプションを決定します。
SQL_POS_POSITION (ODBC 2.0)
SQL_POS_REFRESH (ODBC 2.0)
SQL_POS_UPDATE (ODBC 2.0)
SQL_POS_DELETE (ODBC 2.0)
SQL_POS_ADD (ODBC 2.0)
SQL_PROCEDURE_TERM 1.0 プロシージャのデータ ソース ベンダーの名前を含む文字列。たとえば、"データベース プロシージャ"、"ストアド プロシージャ"、"プロシージャ"、"パッケージ"、または "ストアド クエリ" などです。
SQL_PROCEDURES 1.0 データ ソースがプロシージャをサポートし、ドライバーが ODBC プロシージャ呼び出し構文をサポートしている場合は、"Y" という文字列。それ以外の場合は "N" です。
SQL_QUOTED_IDENTIFIER_CASE 2.0 SQLUSMALLINT 値を次に示します。
SQL_IC_UPPER = SQL の引用符で囲まれた識別子は大文字と小文字は区別されず、システム カタログに大文字で格納されます。
SQL_IC_LOWER = SQL の引用符で囲まれた識別子は大文字と小文字は区別されず、システム カタログに小文字で格納されます。
SQL_IC_SENSITIVE = SQL の引用符で囲まれた識別子は大文字と小文字が区別され、大文字と小文字が混在してシステム カタログに格納されます。 (SQL-92 準拠のデータベースでは、引用符で囲まれた識別子では常に大文字と小文字が区別されます)。
SQL_IC_MIXED = SQL の引用符で囲まれた識別子は大文字と小文字は区別されず、システム カタログに大文字と小文字が混在して格納されます。

SQL-92 エントリ レベルに準拠したドライバーは、常にSQL_IC_SENSITIVEを返します。
SQL_ROW_UPDATES 1.0 キーセット駆動型カーソルまたは混合カーソルが、フェッチされたすべての行の行バージョンまたは値を保持しているため、行が最後にフェッチされてからユーザーが行に対して行った更新を検出できる場合は、"Y" という文字列。 (これは更新プログラムにのみ適用され、削除や挿入には適用されません)。ドライバーは、 SQLFetchScroll が呼び出されたときに、SQL_ROW_UPDATED フラグを行状態配列に返すことができます。 それ以外の場合は、"N" です。
SQL_SCHEMA_TERM 1.0 スキーマのデータ ソース ベンダーの名前を含む文字列。たとえば、"owner"、"Authorization ID"、"Schema" などです。

文字列は、大文字、小文字、または大文字と小文字の混在で返すことができます。

SQL-92 エントリ レベルに準拠したドライバーは、常に "スキーマ" を返します。

ODBC 3.0 では、この InfoType の名前が ODBC 2.0 InfoType SQL_OWNER_TERMから変更されました。
SQL_SCHEMA_USAGE 2.0 スキーマを使用できるステートメントを列挙する SQLUINTEGER ビットマスク:
SQL_SU_DML_STATEMENTS = スキーマは、 SELECTINSERTUPDATEDELETE のすべてのデータ操作言語ステートメントでサポートされ、サポートされている場合は SELECT FOR UPDATE ステートメントと位置指定された update ステートメントと delete ステートメントがサポートされます。
SQL_SU_PROCEDURE_INVOCATION = スキーマは ODBC プロシージャ呼び出しステートメントでサポートされています。
SQL_SU_TABLE_DEFINITION = スキーマは、 CREATE TABLECREATE VIEWALTER TABLE、 DROP TABLEDROP VIEW のすべてのテーブル定義ステートメントでサポートされています。
SQL_SU_INDEX_DEFINITION = スキーマは、 CREATE INDEXDROP INDEX のすべてのインデックス定義ステートメントでサポートされています。
SQL_SU_PRIVILEGE_DEFINITION = スキーマは、 GRANTREVOKE のすべての特権定義ステートメントでサポートされています。

SQL-92 エントリ レベル準拠ドライバーは、サポートされているSQL_SU_DML_STATEMENTS、SQL_SU_TABLE_DEFINITION、SQL_SU_PRIVILEGE_DEFINITIONオプションを常に返します。

この InfoType は、ODBC 2.0 InfoType SQL_OWNER_USAGEから ODBC 3.0 の名前が変更されました。
SQL_SCROLL_OPTIONS 1.0 注: 情報の種類は ODBC 1.0 で導入されました。各ビットマスクには、導入されたバージョンでラベルが付けられます。

スクロール可能カーソルでサポートされるスクロール オプションを列挙する SQLUINTEGER ビットマスク。

サポートされているオプションを決定するには、次のビットマスクを使用します。
SQL_SO_FORWARD_ONLY = カーソルは前方にのみスクロールします。 (ODBC 1.0)
SQL_SO_STATIC = 結果セット内のデータは静的です。 (ODBC 2.0)
SQL_SO_KEYSET_DRIVEN = ドライバーは、結果セット内のすべての行のキーを保存して使用します。 (ODBC 1.0)
SQL_SO_DYNAMIC = ドライバーは、行セット内のすべての行のキーを保持します (キーセット のサイズは行セット のサイズと同じです)。 (ODBC 1.0)
SQL_SO_MIXED = ドライバーはキーセット内のすべての行のキーを保持し、キーセットのサイズが行セット のサイズより大きい。 カーソルはキーセット内のキーセット駆動型であり、キーセットの外部では動的です。 (ODBC 1.0)

スクロール可能カーソルの詳細については、「 スクロール可能カーソル」を参照してください。
SQL_SEARCH_PATTERN_ESCAPE 1.0 検索パターンで有効な文字としてパターン 一致メタ文字アンダースコア (_) とパーセント記号 (%) を使用できるようにするエスケープ文字としてドライバーがサポートするものを指定する文字列。 このエスケープ文字は、検索文字列をサポートするカタログ関数引数にのみ適用されます。 この文字列が空の場合、ドライバーは検索パターンのエスケープ文字をサポートしていません。

この情報型は LIKE 述語でのエスケープ文字の一般的なサポートを示していないため、SQL-92 にはこの文字列の要件は含まれません。

この インフォタイプ はカタログ関数に限定されます。 検索パターン文字列でのエスケープ文字の使用の説明については、「 パターン値の引数」を参照してください。
SQL_SERVER_NAME 1.0 実際のデータ ソース固有のサーバー名を持つ文字列。データ ソース名が SQLConnect、SQLDriverConnectSQLBrowseConnect の間に使用される場合に便利です。
SQL_SPECIAL_CHARACTERS 2.0 データ ソースのテーブル名、列名、インデックス名などの識別子名で使用できるすべての特殊文字 (つまり、 から z、A から Z、0 から 9、アンダースコアを除くすべての文字) を含む文字列。 たとえば、"#$^" とします。 識別子にこれらの文字が 1 つ以上含まれている場合、識別子は区切られた識別子である必要があります。
SQL_SQL_CONFORMANCE 3.0 ドライバーでサポートされている SQL-92 のレベルを示す SQLUINTEGER 値。
SQL_SC_SQL92_ENTRY = エントリ レベル SQL-92 に準拠しています。
SQL_SC_FIPS127_2_TRANSITIONAL = FIPS 127-2 移行レベルに準拠しています。
SQL_SC_SQL92_FULL = 完全レベルの SQL-92 に準拠しています。
SQL_SC_ SQL92_INTERMEDIATE = 中間レベルの SQL-92 に準拠しています。
SQL_SQL92_DATETIME_FUNCTIONS 3.0 SQL-92 で定義されているように、ドライバーと関連付けられているデータ ソースでサポートされている datetime スカラー関数を列挙する SQLUINTEGER ビットマスク。

次のビットマスクを使用して、どの datetime 関数がサポートされているかを判断します。
SQL_SDF_CURRENT_DATE
SQL_SDF_CURRENT_TIME
SQL_SDF_CURRENT_TIMESTAMP
SQL_SQL92_FOREIGN_KEY_DELETE_RULE 3.0 SQL-92 で定義されている DELETE ステートメントの外部キーに対してサポートされる規則を列挙する SQLUINTEGER ビットマスク。

次のビットマスクを使用して、データ ソースでサポートされている句を決定します。
SQL_SFKD_CASCADE
SQL_SFKD_NO_ACTION
SQL_SFKD_SET_DEFAULT
SQL_SFKD_SET_NULL

FIPS 移行レベルに準拠したドライバーは、サポートされているとおりに常にこれらのオプションをすべて返します。
SQL_SQL92_FOREIGN_KEY_UPDATE_RULE 3.0 SQL-92 で定義されている UPDATE ステートメントの外部キーに対してサポートされる規則を列挙する SQLUINTEGER ビットマスク。

次のビットマスクを使用して、データ ソースでサポートされている句を決定します。
SQL_SFKU_CASCADE
SQL_SFKU_NO_ACTION
SQL_SFKU_SET_DEFAULT
SQL_SFKU_SET_NULL

SQL-92 完全レベル準拠ドライバーは、サポートされているとおりに常にこれらのオプションをすべて返します。
SQL_SQL92_GRANT 3.0 SQL-92 で定義されている GRANT ステートメントでサポートされている句を列挙する SQLUINTEGER ビットマスク。

この機能をサポートする必要がある SQL-92 または FIPS 準拠レベルは、各ビットマスクの横のかっこで囲んで表示されます。

次のビットマスクを使用して、データ ソースでサポートされている句を決定します。
SQL_SG_DELETE_TABLE (エントリ レベル)
SQL_SG_INSERT_COLUMN (中間レベル)
SQL_SG_INSERT_TABLE (エントリ レベル)
SQL_SG_REFERENCES_TABLE (エントリ レベル)
SQL_SG_REFERENCES_COLUMN (エントリ レベル)
SQL_SG_SELECT_TABLE (エントリ レベル)
SQL_SG_UPDATE_COLUMN (エントリ レベル)
SQL_SG_UPDATE_TABLE (エントリ レベル)
SQL_SG_USAGE_ON_DOMAIN (FIPS 移行レベル)
SQL_SG_USAGE_ON_CHARACTER_SET (FIPS 移行レベル)
SQL_SG_USAGE_ON_COLLATION (FIPS 移行レベル)
SQL_SG_USAGE_ON_TRANSLATION (FIPS 移行レベル)
SQL_SG_WITH_GRANT_OPTION (エントリ レベル)
SQL_SQL92_NUMERIC_VALUE_FUNCTIONS 3.0 SQL-92 で定義されているように、ドライバーと関連付けられているデータ ソースでサポートされている数値スカラー関数を列挙する SQLUINTEGER ビットマスク。

サポートされている数値関数を決定するには、次のビットマスクを使用します。
SQL_SNVF_BIT_LENGTH
SQL_SNVF_CHAR_LENGTH
SQL_SNVF_CHARACTER_LENGTH
SQL_SNVF_EXTRACT
SQL_SNVF_OCTET_LENGTH
SQL_SNVF_POSITION
SQL_SQL92_PREDICATES 3.0 SQL-92 で定義されている SELECT ステートメントでサポートされる述語を列挙する SQLUINTEGER ビットマスク。

この機能をサポートする必要がある SQL-92 または FIPS 準拠レベルは、各ビットマスクの横のかっこで囲んで表示されます。

次のビットマスクを使用して、データ ソースでサポートされているオプションを決定します。
SQL_SP_BETWEEN (エントリ レベル)
SQL_SP_COMPARISON (エントリ レベル)
SQL_SP_EXISTS (エントリ レベル)
SQL_SP_IN (エントリ レベル)
SQL_SP_ISNOTNULL (エントリ レベル)
SQL_SP_ISNULL (エントリ レベル)
SQL_SP_LIKE (エントリ レベル)
SQL_SP_MATCH_FULL (フル レベル)
SQL_SP_MATCH_PARTIAL(フル レベル)
SQL_SP_MATCH_UNIQUE_FULL (フル レベル)
SQL_SP_MATCH_UNIQUE_PARTIAL (フル レベル)
SQL_SP_OVERLAPS (FIPS 移行レベル)
SQL_SP_QUANTIFIED_COMPARISON (エントリ レベル)
SQL_SP_UNIQUE (エントリ レベル)
SQL_SQL92_RELATIONAL_JOIN_OPERATORS 3.0 SQL-92 で定義されている SELECT ステートメントでサポートされているリレーショナル結合演算子を列挙する SQLUINTEGER ビットマスク。

この機能をサポートする必要がある SQL-92 または FIPS 準拠レベルは、各ビットマスクの横のかっこで囲んで表示されます。

次のビットマスクを使用して、データ ソースでサポートされているオプションを決定します。
SQL_SRJO_CORRESPONDING_CLAUSE (中間レベル)
SQL_SRJO_CROSS_JOIN (フル レベル)
SQL_SRJO_EXCEPT_JOIN (中間レベル)
SQL_SRJO_FULL_OUTER_JOIN (中間レベル)
SQL_SRJO_INNER_JOIN (FIPS 移行レベル)
SQL_SRJO_INTERSECT_JOIN (中間レベル)
SQL_SRJO_LEFT_OUTER_JOIN (FIPS 移行レベル)
SQL_SRJO_NATURAL_JOIN (FIPS 移行レベル)
SQL_SRJO_RIGHT_OUTER_JOIN (FIPS 移行レベル)
SQL_SRJO_UNION_JOIN (フル レベル)

SQL_SRJO_INNER_JOINは、内部結合機能ではなく、 INNER JOIN 構文のサポートを示します。 INNER JOIN 構文のサポートは FIPS TRANSITIONAL ですが、内部結合機能のサポートは ENTRY です
SQL_SQL92_REVOKE 3.0 データ ソースでサポートされている SQL-92 で定義されている REVOKE ステートメントでサポートされる句を列挙する SQLUINTEGER ビットマスク。

この機能をサポートする必要がある SQL-92 または FIPS 準拠レベルは、各ビットマスクの横のかっこで囲んで表示されます。

次のビットマスクを使用して、データ ソースでサポートされている句を決定します。
SQL_SR_CASCADE (FIPS 移行レベル)
SQL_SR_DELETE_TABLE (エントリ レベル)
SQL_SR_GRANT_OPTION_FOR (中間レベル)
SQL_SR_INSERT_COLUMN (中間レベル)
SQL_SR_INSERT_TABLE (エントリ レベル)
SQL_SR_REFERENCES_COLUMN (エントリ レベル)
SQL_SR_REFERENCES_TABLE (エントリ レベル)
SQL_SR_RESTRICT (FIPS 移行レベル)
SQL_SR_SELECT_TABLE (エントリ レベル)
SQL_SR_UPDATE_COLUMN (エントリ レベル)
SQL_SR_UPDATE_TABLE (エントリ レベル)
SQL_SR_USAGE_ON_DOMAIN (FIPS 移行レベル)
SQL_SR_USAGE_ON_CHARACTER_SET (FIPS 移行レベル)
SQL_SR_USAGE_ON_COLLATION (FIPS 移行レベル)
SQL_SR_USAGE_ON_TRANSLATION (FIPS 移行レベル)
SQL_SQL92_ROW_VALUE_CONSTRUCTOR 3.0 SQL-92 で定義されている SELECT ステートメントでサポートされている行値コンストラクター式を列挙する SQLUINTEGER ビットマスク。 次のビットマスクを使用して、データ ソースでサポートされているオプションを決定します。
SQL_SRVC_VALUE_EXPRESSION
SQL_SRVC_NULL
SQL_SRVC_DEFAULT
SQL_SRVC_ROW_SUBQUERY
SQL_SQL92_STRING_FUNCTIONS 3.0 SQL-92 で定義されているように、ドライバーと関連付けられているデータ ソースでサポートされている文字列スカラー関数を列挙する SQLUINTEGER ビットマスク。

サポートされている文字列関数を決定するには、次のビットマスクを使用します。
SQL_SSF_CONVERT
SQL_SSF_LOWERSQL_SSF_UPPER
SQL_SSF_SUBSTRING
SQL_SSF_TRANSLATE
SQL_SSF_TRIM_BOTH
SQL_SSF_TRIM_LEADING
SQL_SSF_TRIM_TRAILING
SQL_SQL92_VALUE_EXPRESSIONS 3.0 SQL-92 で定義されているように、サポートされている値式を列挙する SQLUINTEGER ビットマスク。

この機能をサポートする必要がある SQL-92 または FIPS 準拠レベルは、各ビットマスクの横のかっこで囲んで表示されます。

次のビットマスクを使用して、データ ソースでサポートされているオプションを決定します。
SQL_SVE_CASE (中間レベル)
SQL_SVE_CAST (FIPS 移行レベル)
SQL_SVE_COALESCE (中間レベル)
SQL_SVE_NULLIF (中間レベル)
SQL_STANDARD_CLI_CONFORMANCE 3.0 ドライバーが準拠する CLI 標準または標準を列挙する SQLUINTEGER ビットマスク。 次のビットマスクを使用して、ドライバーが準拠しているレベルを決定します。
SQL_SCC_XOPEN_CLI_VERSION1: ドライバーは、Open Group CLI バージョン 1 に準拠しています。
SQL_SCC_ISO92_CLI: ドライバーは ISO 92 CLI に準拠しています。
SQL_STATIC_CURSOR_ATTRIBUTES1 3.0 ドライバーでサポートされている静的カーソルの属性を記述する SQLUINTEGER ビットマスク。 このビットマスクには、属性の最初のサブセットが含まれています。2 番目のサブセットについては、「SQL_STATIC_CURSOR_ATTRIBUTES2」を参照してください。

次のビットマスクを使用して、サポートされている属性を決定します。
SQL_CA1_NEXT
SQL_CA1_ABSOLUTE
SQL_CA1_RELATIVE
SQL_CA1_BOOKMARK
SQL_CA1_LOCK_NO_CHANGE
SQL_CA1_LOCK_EXCLUSIVE
SQL_CA1_LOCK_UNLOCK
SQL_CA1_POS_POSITION
SQL_CA1_POS_UPDATE
SQL_CA1_POS_DELETE
SQL_CA1_POS_REFRESH
SQL_CA1_POSITIONED_UPDATE
SQL_CA1_POSITIONED_DELETE
SQL_CA1_SELECT_FOR_UPDATE
SQL_CA1_BULK_ADD
SQL_CA1_BULK_UPDATE_BY_BOOKMARK
SQL_CA1_BULK_DELETE_BY_BOOKMARK
SQL_CA1_BULK_FETCH_BY_BOOKMARK

これらのビットマスクの説明については、「SQL_DYNAMIC_CURSOR_ATTRIBUTES1(および説明の「動的カーソル」に「静的カーソル」を置き換える)を参照してください。

SQL-92 中間レベル準拠ドライバーは、通常、サポートされているSQL_CA1_NEXT、SQL_CA1_ABSOLUTE、およびSQL_CA1_RELATIVEオプションを返します。これは、ドライバーが埋め込み SQL FETCH ステートメントを介してスクロール可能なカーソルをサポートするためです。 ただし、これは基になる SQL のサポートを直接決定しないため、SQL-92 中間レベル準拠ドライバーの場合でも、スクロール可能なカーソルはサポートされない場合があります。
SQL_STATIC_CURSOR_ATTRIBUTES2 3.0 ドライバーでサポートされている静的カーソルの属性を記述する SQLUINTEGER ビットマスク。 このビットマスクには、属性の 2 番目のサブセットが含まれています。最初のサブセットについては、「SQL_STATIC_CURSOR_ATTRIBUTES1」を参照してください。

次のビットマスクを使用して、サポートされている属性を決定します。
SQL_CA2_READ_ONLY_CONCURRENCY
SQL_CA2_LOCK_CONCURRENCY
SQL_CA2_OPT_ROWVER_CONCURRENCY
SQL_CA2_OPT_VALUES_CONCURRENCY
SQL_CA2_SENSITIVITY_ADDITIONS
SQL_CA2_SENSITIVITY_DELETIONS
SQL_CA2_SENSITIVITY_UPDATES
SQL_CA2_MAX_ROWS_SELECT
SQL_CA2_MAX_ROWS_INSERT
SQL_CA2_MAX_ROWS_DELETE
SQL_CA2_MAX_ROWS_UPDATE
SQL_CA2_MAX_ROWS_CATALOG
SQL_CA2_MAX_ROWS_AFFECTS_ALL
SQL_CA2_CRC_EXACT
SQL_CA2_CRC_APPROXIMATE
SQL_CA2_SIMULATE_NON_UNIQUE
SQL_CA2_SIMULATE_TRY_UNIQUE
SQL_CA2_SIMULATE_UNIQUE

これらのビットマスクの説明については、「SQL_DYNAMIC_CURSOR_ATTRIBUTES2(および説明の「動的カーソル」に「静的カーソル」を置き換える)を参照してください。
SQL_STRING_FUNCTIONS 1.0 注: 情報の種類は ODBC 1.0 で導入されました。各ビットマスクには、導入されたバージョンでラベルが付けられます。

ドライバーと関連するデータ ソースでサポートされるスカラー文字列関数を列挙する SQLUINTEGER ビットマスク。

サポートされている文字列関数を決定するには、次のビットマスクを使用します。
SQL_FN_STR_ASCII (ODBC 1.0)
SQL_FN_STR_BIT_LENGTH (ODBC 3.0)
SQL_FN_STR_CHAR (ODBC 1.0)
SQL_FN_STR_CHAR_LENGTH (ODBC 3.0)
SQL_FN_STR_CHARACTER_LENGTH (ODBC 3.0)
SQL_FN_STR_CONCAT (ODBC 1.0)
SQL_FN_STR_DIFFERENCE (ODBC 2.0)
SQL_FN_STR_INSERT (ODBC 1.0)
SQL_FN_STR_LCASE (ODBC 1.0)
SQL_FN_STR_LEFT (ODBC 1.0)
SQL_FN_STR_LENGTH (ODBC 1.0)
SQL_FN_STR_LOCATE (ODBC 1.0)
SQL_FN_STR_LTRIM (ODBC 1.0)
SQL_FN_STR_OCTET_LENGTH (ODBC 3.0)
SQL_FN_STR_POSITION (ODBC 3.0)
SQL_FN_STR_REPEAT (ODBC 1.0)
SQL_FN_STR_REPLACE (ODBC 1.0)
SQL_FN_STR_RIGHT (ODBC 1.0)
SQL_FN_STR_RTRIM (ODBC 1.0)
SQL_FN_STR_SOUNDEX (ODBC 2.0)
SQL_FN_STR_SPACE (ODBC 2.0)
SQL_FN_STR_SUBSTRING (ODBC 1.0)
SQL_FN_STR_UCASE (ODBC 1.0)

アプリケーションが、string_exp1string_exp2および start 引数を使用して LOCATE スカラー関数を呼び出すことができる場合、ドライバーはSQL_FN_STR_LOCATEビットマスクを返します。 string_exp1引数とstring_exp2引数のみを使用してアプリケーションが LOCATE スカラー関数を呼び出すことができる場合、ドライバーはSQL_FN_STR_LOCATE_2ビットマスクを返します。 LOCATE スカラー関数を完全にサポートするドライバーは、両方のビットマスクを返します。

(詳細については、付録 E の「スカラー関数」の 「文字列 関数」を参照してください)。
SQL_SUBQUERIES 2.0 サブクエリをサポートする述語を列挙する SQLUINTEGER ビットマスク:
SQL_SQ_CORRELATED_SUBQUERIES
SQL_SQ_COMPARISON
SQL_SQ_EXISTS
SQL_SQ_INSQL_SQ_QUANTIFIED

SQL_SQ_CORRELATED_SUBQUERIESビットマスクは、サブクエリをサポートするすべての述語が相関サブクエリをサポートすることを示します。

SQL-92 エントリ レベルに準拠したドライバーは、常にこれらのビットがすべて設定されているビットマスクを返します。
SQL_SYSTEM_FUNCTIONS 1.0 ドライバーと関連するデータ ソースでサポートされるスカラー システム関数を列挙する SQLUINTEGER ビットマスク。

サポートされているシステム関数を決定するには、次のビットマスクを使用します。
SQL_FN_SYS_DBNAME
SQL_FN_SYS_IFNULL
SQL_FN_SYS_USERNAME
SQL_TABLE_TERM 1.0 テーブルのデータ ソース ベンダーの名前を含む文字列。たとえば、"table" や "file" などです。

この文字列は、大文字、小文字、または大文字と小文字の混在で指定できます。

SQL-92 エントリ レベルに準拠したドライバーは、常に "table" を返します。
SQL_TIMEDATE_ADD_INTERVALS 2.0 ドライバーと TIMESTAMPADD スカラー関数に関連付けられているデータ ソースでサポートされるタイムスタンプ間隔を列挙する SQLUINTEGER ビットマスク。

次のビットマスクを使用して、サポートされている間隔を決定します。
SQL_FN_TSI_FRAC_SECOND
SQL_FN_TSI_SECOND
SQL_FN_TSI_MINUTE
SQL_FN_TSI_HOUR
SQL_FN_TSI_DAY
SQL_FN_TSI_WEEK
SQL_FN_TSI_MONTH
SQL_FN_TSI_QUARTER
SQL_FN_TSI_YEAR

FIPS 遷移レベルに準拠したドライバーは、常にこれらのビットがすべて設定されているビットマスクを返します。
SQL_TIMEDATE_DIFF_INTERVALS 2.0 ドライバーでサポートされるタイムスタンプ間隔と TIMESTAMPDIFF スカラー関数に関連付けられているデータ ソースを列挙する SQLUINTEGER ビットマスク。

次のビットマスクを使用して、サポートされている間隔を決定します。
SQL_FN_TSI_FRAC_SECOND
SQL_FN_TSI_SECOND
SQL_FN_TSI_MINUTE
SQL_FN_TSI_HOUR
SQL_FN_TSI_DAY
SQL_FN_TSI_WEEK
SQL_FN_TSI_MONTH
SQL_FN_TSI_QUARTER
SQL_FN_TSI_YEAR

FIPS 遷移レベルに準拠したドライバーは、常にこれらのビットがすべて設定されているビットマスクを返します。
SQL_TIMEDATE_FUNCTIONS 1.0 注: 情報の種類は ODBC 1.0 で導入されました。各ビットマスクには、導入されたバージョンでラベルが付けられます。

ドライバーと関連付けられているデータ ソースでサポートされるスカラーの日付と時刻関数を列挙する SQLUINTEGER ビットマスク。

次のビットマスクを使用して、サポートされている日付と時刻の関数を決定します。
SQL_FN_TD_CURRENT_DATE (ODBC 3.0)
SQL_FN_TD_CURRENT_TIME (ODBC 3.0)
SQL_FN_TD_CURRENT_TIMESTAMP (ODBC 3.0)
SQL_FN_TD_CURDATE (ODBC 1.0)
SQL_FN_TD_CURTIME (ODBC 1.0)
SQL_FN_TD_DAYNAME (ODBC 2.0)
SQL_FN_TD_DAYOFMONTH (ODBC 1.0)
SQL_FN_TD_DAYOFWEEK (ODBC 1.0)
SQL_FN_TD_DAYOFYEAR (ODBC 1.0)
SQL_FN_TD_EXTRACT (ODBC 3.0)
SQL_FN_TD_HOUR (ODBC 1.0)
SQL_FN_TD_MINUTE (ODBC 1.0)
SQL_FN_TD_MONTH (ODBC 1.0)
SQL_FN_TD_MONTHNAME (ODBC 2.0)
SQL_FN_TD_NOW (ODBC 1.0)
SQL_FN_TD_QUARTER (ODBC 1.0)
SQL_FN_TD_SECOND (ODBC 1.0)
SQL_FN_TD_TIMESTAMPADD (ODBC 2.0)
SQL_FN_TD_TIMESTAMPDIFF (ODBC 2.0)
SQL_FN_TD_WEEK (ODBC 1.0)
SQL_FN_TD_YEAR (ODBC 1.0)
SQL_TXN_CAPABLE 1.0 注: 情報の種類は ODBC 1.0 で導入されました。各戻り値には、導入されたバージョンでラベルが付けられます。

ドライバーまたはデータ ソースでのトランザクションのサポートを説明する SQLUSMALLINT 値。
SQL_TC_NONE = トランザクションはサポートされていません。 (ODBC 1.0)
SQL_TC_DML = トランザクションには、データ操作言語 (DML) ステートメント (SELECTINSERTUPDATEDELETE) のみを含めることができます。 トランザクションでデータ定義言語 (DDL) ステートメントが検出されると、エラーが発生します。 (ODBC 1.0)
SQL_TC_DDL_COMMIT = トランザクションには DML ステートメントのみを含めることができます。 トランザクションで DDL ステートメント (CREATE TABLEDROP INDEX など) が検出されると、トランザクションがコミットされます。 (ODBC 2.0)
SQL_TC_DDL_IGNORE = トランザクションには DML ステートメントのみを含めることができます。 トランザクションで検出された DDL ステートメントは無視されます。 (ODBC 2.0)
SQL_TC_ALL = トランザクションには、DDL ステートメントと DML ステートメントを任意の順序で含めることができます。 (ODBC 1.0)

(SQL-92 ではトランザクションのサポートが必須であるため、SQL-92 準拠ドライバー [任意のレベル] はSQL_TC_NONEを返しません)。
SQL_TXN_ISOLATION_OPTION 1.0 ドライバーまたはデータ ソースから使用できるトランザクション分離レベルを列挙する SQLUINTEGER ビットマスク。

次のビットマスクを フラグと共に使用して、サポートされているオプションを決定します。
SQL_TXN_READ_UNCOMMITTED
SQL_TXN_READ_COMMITTED
SQL_TXN_REPEATABLE_READ
SQL_TXN_SERIALIZABLE

これらの分離レベルの説明については、SQL_DEFAULT_TXN_ISOLATIONの説明を参照してください。

トランザクション分離レベルを設定するために、アプリケーションは SQLSetConnectAttr を 呼び出してSQL_ATTR_TXN_ISOLATION属性を設定します。 詳細については、「 SQLSetConnectAttr 関数」を参照してください。

SQL-92 エントリ レベル準拠ドライバーは、常にサポートされているSQL_TXN_SERIALIZABLEを返します。 FIPS 移行レベルに準拠したドライバーは、サポートされているとおりに常にこれらのオプションをすべて返します。
SQL_UNION 2.0 UNION 句のサポートを列挙する SQLUINTEGER ビットマスク:
SQL_U_UNION = データ ソースは UNION 句をサポートします。
SQL_U_UNION_ALL = データ ソースは UNION 句の ALL キーワードをサポートします。 (この場合、SQLGetInfo はSQL_U_UNIONとSQL_U_UNION_ALLの両方を返します)。

SQL-92 エントリ レベル準拠ドライバーは、常にサポートされている両方のオプションを返します。
SQL_USER_NAME 1.0 特定のデータベースで使用される名前を持つ文字列。ログイン名とは異なる場合があります。
SQL_XOPEN_CLI_YEAR 3.0 ODBC ドライバー マネージャーのバージョンが完全に準拠している Open Group 仕様の発行年を示す文字列。

SQLGetInfo は、サポートされているオプションの一覧を *InfoValuePtr の SQLUINTEGER ビットマスクとして返します。 各オプションのビットマスクは、 フラグと共に使用され、オプションがサポートされているかどうかを判断します。

たとえば、アプリケーションでは、次のコードを使用して、接続に関連付けられているドライバーによって SUBSTRING スカラー関数がサポートされているかどうかを判断できます。

SQLGetInfo を使用する別の例については、「SQLTables 関数」を参照してください。

SQLUINTEGER fFuncs;  
  
SQLGetInfo(hdbc,  
           SQL_STRING_FUNCTIONS,  
           (SQLPOINTER)&fFuncs,  
           sizeof(fFuncs),  
           NULL);  
  
// SUBSTRING supported  
if (fFuncs & SQL_FN_STR_SUBSTRING)  
   ;   // do something  
  
// SUBSTRING not supported  
else  
   ;   // do something else  

接続属性の設定を返す
SQLGetConnectAttr 関数

ドライバーが関数をサポートしているかどうかを判断する
SQLGetFunctions 関数

ステートメント属性の設定を返す
SQLGetStmtAttr 関数

データ ソースのデータ型に関する情報を返す
SQLGetTypeInfo 関数

参照

ODBC API リファレンス
ODBC ヘッダー ファイル