DB2 10.5 for Linux, UNIX, and Windows

SQLGetInfo 関数 (CLI) - 一般情報の取得

アプリケーションが接続しているデータベース管理システム (DBMS) に関する一般情報を戻します。

仕様:

  • CLI 1.1
  • ODBC 1.0
  • ISO CLI
Unicode 環境での同等機能: この関数は Unicode 文字セットとともに使用することもできます。これに対応する Unicode 関数は SQLGetInfoW() です。 ANSI 関数から Unicode 関数へのマッピングの詳細は、 Unicode 関数 (CLI) を参照してください。

構文

SQLRETURN   SQLGetInfo       (
               SQLHDBC           ConnectionHandle,   /* hdbc */
               SQLUSMALLINT      InfoType,           /* fInfoType */
               SQLPOINTER        InfoValuePtr,       /* rgbInfoValue */
               SQLSMALLINT       BufferLength,       /* cbInfoValueMax */
               SQLSMALLINT       *StringLengthPtr);  /* pcbInfoValue */

関数引数

表 1. SQLGetInfo 引数
データ・タイプ 引数 使用法 説明
SQLHDBC ConnectionHandle 入力 データベース接続ハンドル。
SQLUSMALLINT InfoType 入力 必要な情報のタイプ。この引数に指定できる値は、 SQLGetInfo() から戻される情報に説明されています。
SQLPOINTER InfoValuePtr 出力および入力 必要な情報がこの関数によって保管されるバッファーを指すポインター。検索される情報のタイプに基づいて、以下の 5 つの情報タイプを戻すことができます。
  • 16 ビットの整数値
  • 32 ビットの整数値
  • 32 ビットのバイナリー数値
  • 32 ビット・マスク
  • ヌル終了文字ストリング

InfoType 引数が SQL_DRIVER_HDESC または SQL_DRIVER_HSTMT である場合、 InfoValuePtr は入力引数にも出力引数にもなります。

SQLSMALLINT BufferLength 入力 InfoValuePtr ポインターで指示されるバッファーの最大長。*InfoValuePtr が Unicode ストリングの場合、 BufferLength 引数は偶数でなければなりません。
SQLSMALLINT * StringLengthPtr 出力 戻りに使用できる情報の合計バイト数をこの関数が戻すロケーションを指すポインター。ストリング出力の場合、長さにはヌル終了文字は含まれません。

StringLengthPtr が指すロケーションの値が BufferLength に指定されているサイズより大きい場合、ストリング出力情報が BufferLength - 1 バイトに切り捨てられ、この関数は SQL_SUCCESS_WITH_INFO を戻します。

使用法

InfoType 引数の有効値のリストと、その値に関して SQLGetInfo() 関数が戻す情報の詳細は、SQLGetInfo() から戻される情報を参照してください。

戻りコード

  • SQL_SUCCESS
  • SQL_SUCCESS_WITH_INFO
  • SQL_ERROR
  • SQL_INVALID_HANDLE

診断

表 2. SQLGetInfo SQLSTATE
SQLSTATE 説明 解説
01004 データが切り捨てられました。 要求された情報がストリングとして戻され、このストリングの長さは BufferLength 引数に指定されているアプリケーション・バッファーの長さを超過しています。StringLengthPtr 引数には、要求された情報の実際の (切り捨てられていない) 長さが含まれています。(関数は、SQL_SUCCESS_WITH_INFO 戻りコードを返します。)
08003 接続がクローズされています。 InfoType 引数で要求されているタイプの情報には、オープン接続が必要です。オープン接続が必要ないのは、SQL_ODBC_VER 情報だけです。
40003 08S01 通信リンクに障害が起きました。 アプリケーションとデータ・ソースとの間の通信リンクが、関数の完了する前に失敗しました。
58004 予期しないシステム障害です。 回復不能システム・エラー。
HY001 メモリーの割り振りが失敗しました。 DB2® CLI は、この関数の実行または完了をサポートするのに必要なメモリーを割り当てられません。プロセス・レベルのメモリーがアプリケーション・プロセスに使い尽くされた可能性があります。 プロセス・レベルのメモリー制限については、オペレーティング・システムの構成を調べてください。
HY090 ストリングまたはバッファーの長さが無効です。 BufferLength 引数に指定された値は 0 より小さい値です。
HY096 情報タイプが範囲外です。 無効な InfoType 引数が指定されています。
HYC00 ドライバーが使用できません。 InfoType 引数に指定された値は、CLI とデータ・ソースのどちらかでサポートされていません。

制限

なし。

    /* get server name information */
    cliRC = SQLGetInfo(hdbc, SQL_DBMS_NAME, imageInfoBuf, 255, &outlen);

    /* ... */

    /* get client driver name information */
    cliRC = SQLGetInfo(hdbc, SQL_DRIVER_NAME, imageInfoBuf, 255, &outlen);

SQLGetInfo() から戻される情報

CLI ドライバーは、InfoType 引数ごとに値を返します。InfoType 引数が、この引数を発行した環境でサポートされていない場合、以下の値のひとつが返されます。
  • 指定された InfoType 引数が肯定 ("Y") または否定 ("N") の文字ストリングを返す場合、否定の値 (「N」) が返されます。
  • 指定された InfoType 引数が肯定 ("Y") と否定 ("N") のいずれでもない文字ストリングを返す場合、空のストリングが返されます。
  • 指定された InfoType 引数が 32 ビット整数を返す場合、値 0 (ゼロ) が返されます。
  • 指定された InfoType 引数が 32 ビット・マスクを返す場合、値 0 (ゼロ) が返されます。
SQL_ACCESSIBLE_PROCEDURES (ストリング)
文字ストリング "Y" は、関数 SQLProcedures() で返されるプロシージャーをすべて実行できることを示します。"N" は、実行できないプロシージャーが返されている可能性があることを示します。
SQL_ACCESSIBLE_TABLES (ストリング)
文字ストリング "Y" は、関数 SQLTables() で返されるすべての表に対する SELECT 特権が付与されることを示します。"N" は、アクセスできない表が返されている可能性があることを示します。
SQL_AGGREGATE_FUNCTIONS (32 ビット・マスク)
下記の集約関数に関するサポートを列挙するビット・マスク。
  • SQL_AF_ALL
  • SQL_AF_AVG
  • SQL_AF_COUNT
  • SQL_AF_DISTINCT
  • SQL_AF_MAX
  • SQL_AF_MIN
  • SQL_AF_SUM
SQL_ALTER_DOMAIN (32 ビット・マスク)
CLI は 0 を返し、ALTER DOMAIN ステートメントがサポートされていないことを示します。
ODBC はさらに、CLI が返さない以下の値を定義します。
  • SQL_AD_ADD_CONSTRAINT_DEFERRABLE
  • SQL_AD_ADD_CONSTRAINT_NON_DEFERRABLE
  • SQL_AD_ADD_CONSTRAINT_INITIALLY_DEFERRED
  • SQL_AD_ADD_CONSTRAINT_INITIALLY_IMMEDIATE
  • SQL_AD_ADD_DOMAIN_CONSTRAINT
  • SQL_AD_ADD_DOMAIN_DEFAULT
  • SQL_AD_CONSTRAINT_NAME_DEFINITION
  • SQL_AD_DROP_DOMAIN_CONSTRAINT
  • SQL_AD_DROP_DOMAIN_DEFAULT
SQL_ALTER_TABLE (32 ビット・マスク)
ALTER TABLE ステートメント中のどの節を DBMS がサポートしているかを示します。
  • SQL_AT_ADD_COLUMN_COLLATION
  • SQL_AT_ADD_COLUMN_DEFAULT
  • SQL_AT_ADD_COLUMN_SINGLE
  • SQL_AT_ADD_CONSTRAINT
  • SQL_AT_ADD_TABLE_CONSTRAINT
  • SQL_AT_CONSTRAINT_NAME_DEFINITION
  • SQL_AT_DROP_COLUMN_CASCADE
  • SQL_AT_DROP_COLUMN_DEFAULT
  • SQL_AT_DROP_COLUMN_RESTRICT
  • SQL_AT_DROP_TABLE_CONSTRAINT_CASCADE
  • SQL_AT_DROP_TABLE_CONSTRAINT_RESTRICT
  • SQL_AT_SET_COLUMN_DEFAULT
  • SQL_AT_CONSTRAINT_INITIALLY_DEFERRED
  • SQL_AT_CONSTRAINT_INITIALLY_IMMEDIATE
  • SQL_AT_CONSTRAINT_DEFERRABLE
  • SQL_AT_CONSTRAINT_NON_DEFERRABLE
SQL_APPLICATION_CODEPAGE (32 ビット符号なし整数)
アプリケーション・コード・ページ。
SQL_ASYNC_MODE (32 ビット符号なし整数)
ドライバーにおける非同期サポートのレベルを示します。
  • SQL_AM_CONNECTION : 非同期実行がサポートされる接続レベル。接続ハンドルに関連付けられているすべてのステートメント・ハンドルが非同期モードになっているか、逆にすべてが同期モードになっています。接続上のステートメント・ハンドルは、同一の接続上にある別のステートメント・ハンドルが同期モードになっていると、非同期モードにすることができません (その逆も同様)。
  • SQL_AM_STATEMENT : 非同期実行がサポートされるステートメント・レベル。接続ハンドルに関連付けられたステートメント・ハンドルを、同一の接続上の他のステートメント・ハンドルが同期モードであっても、非同期モードにすることができます。
  • SQL_AM_NONE : 非同期モードはサポートされません。

    CLI/ODBC の構成キーワード ASYNCENABLE が非同期実行を無効にする設定になっている場合にも、 この値が返されます。

SQL_BATCH_ROW_COUNT (32 ビット・マスク)
行カウントの処理方法が示されます。 CLI は常に SQL_BRC_ROLLED_UP を返し、連続した INSERT、DELETE、 または UPDATE の各ステートメントの行カウントが 1 つにされることを示します。
ODBC はさらに、CLI が返さない以下の値を定義します。
  • SQL_BRC_PROCEDURES
  • SQL_BRC_EXPLICIT
SQL_BATCH_SUPPORT (32 ビット・マスク)
サポートされているバッチのレベルを示します。
  • SQL_BS_SELECT_EXPLICIT: これは、結果セットを生成するステートメントを指定できる明示バッチをサポートします。
  • SQL_BS_ROW_COUNT_EXPLICIT: これは、行カウントを生成するステートメントを指定できる明示バッチをサポートします。
  • SQL_BS_SELECT_PROC: これは、結果セットを生成するステートメントを指定できる明示プロシージャーをサポートします。
  • SQL_BS_ROW_COUNT_PROC: これは、行カウントを生成するステートメントを指定できる明示プロシージャーをサポートします。
SQL_BOOKMARK_PERSISTENCE (32 ビット・マスク)
演算後もブックマークが有効のままになる場合を示します。
  • SQL_BP_CLOSE : アプリケーションが SQL_CLOSE オプションを指定した SQLFreeStmt()、または SQLCloseCursor() を呼び出して、ステートメントに関連したカーソルをクローズした後。
  • SQL_BP_DELETE: 行が削除された後。
  • SQL_BP_DROP : ブックマークが有効なのは、アプリケーションが SQLFreeHandle() を SQL_HANDLE_STMT の HandleType とともに呼び出して、ステートメントをドロップした後です。
  • SQL_BP_TRANSACTION : アプリケーションがトランザクションをコミットまたはロールバックした後。
  • SQL_BP_UPDATE : その行のいずれかの列 (キー列を含む) が更新された後。
  • SQL_BP_OTHER_HSTMT : あるステートメントに関連付けられたブックマークを、別のステートメントで使用できます。SQL_BP_CLOSE または SQL_BP_DROP が指定されていない限り、 最初のステートメント上のカーソルがオープンしていなければなりません。
SQL_CATALOG_LOCATION (16 ビット整数)
修飾表名中の修飾子の位置を示す 16 ビット整数値。CLI では、この情報タイプについて常に SQL_CL_START が返されます。 ODBC は、CLI から戻されない値 SQL_CL_END も定義します。

CLI の前のバージョンでは、 この InfoType は SQL_QUALIFIER_LOCATION でした。

SQL_CATALOG_NAME (ストリング)
文字ストリング "Y" は、サーバーがカタログ名をサポートしていることを示します。 "N" は、カタログ名をサポートしていないことを示します。
SQL_CATALOG_NAME_SEPARATOR (ストリング)
カタログ名と、その後またはその前に付く修飾名エレメントを区切る区切り記号として使用される文字。

CLI の前のバージョンでは、 この InfoType は SQL_QUALIFIER_NAME_SEPARATOR でした。

SQL_CATALOG_TERM (ストリング)
データベース・ベンダーの修飾子 (カタログ) 用の用語。

ベンダーが、3 部分から成る名前の高位の部分に使用する名前。

ターゲット DBMS では 3 つの部分から成る名前がサポートされていない場合、長さゼロのストリングが戻されます。

CLI の前のバージョンでは、この InfoType は SQL_QUALIFIER_TERM でした。

SQL_CATALOG_USAGE (32 ビット・マスク)
カタログを使用でき、ステートメントを列挙する 32 ビット・マスクは次のとおりです。SQL_CATALOG_USAGE は、カタログ固有であることを除き、SQL_SCHEMA_USAGE に似ています。
  • SQL_CU_DML_STATEMENTS : カタログをサポートする、すべてのデータ操作言語 (DML) ステートメント。
  • SQL_CU_INDEX_DEFINITION : カタログをサポートする、すべての索引定義ステートメント。
  • SQL_CU_PRIVILEGE_DEFINITION : カタログをサポートする、すべての特権定義ステートメント。
  • SQL_CU_PROCEDURE_INVOCATION : カタログをサポートする、ODBC プロシージャー呼び出しステートメント。
  • SQL_CU_TABLE_DEFINITION : カタログをサポートする、すべての表定義ステートメント。

データ・ソースでカタログがサポートされていない場合、0 の値が戻されます。

CLI の前のバージョンでは、この InfoType 引数は SQL_QUALIFIER_USAGE でした。

SQL_COLLATION_SEQ (ストリング)
このサーバーのデフォルト文字セットにおけるデフォルトの照合シーケンスの名前 (例えば ISO 8859-1 または EBCDIC) を示します。 照合シーケンスが不明であると、空ストリングが返されます。
SQL_COLUMN_ALIAS (ストリング)
列別名がサポートされている場合は "Y" が返され、 サポートされていない場合は "N" が返されます。
SQL_CONCAT_NULL_BEHAVIOR (16 ビット整数)
NULL 値の文字データ・タイプの列と非 NULL 値の文字データ・タイプの列の連結をどのように処理するかを示します。
  • SQL_CB_NULL : NULL 値 (この動作は IBM® RDBMS の場合)。
  • SQL_CB_NON_NULL : 非 NULL 列値が連結されたもの。
SQL_CONFIG_KEYWORDS (ストリング)
アプリケーションにより設定される、すべての構成キーワードのリストを配列形式で返します。 返される 1 次元配列は、"<keyword>=<value>" 値の組を含む要素で構成されます。 BufferLength 引数を使用して取得される配列データの最大サイズを指定します。 BufferLength 引数値は、SQLGetConnectAttr() 関数を使用して判別できます。 配列要素のサイズは、SQL_ATTR_CONFIG_KEYWORDS_ARRAY_SIZE 属性を指定して SQLGetConnectAttr() 関数を呼び出すことにより取得できます。 要素の最大長は、SQL_ATTR_CONFIG_KEYWORDS_MAXLEN 属性を指定して SQLGetConnectAttr() 関数を呼び出すことにより取得できます。 SQL_CONFIG_KEYWORDS 引数を指定して SQLGetInfo() 関数を呼び出すには、その前に、SQL_ATTR_CONFIG_KEYWORDS_ARRAY_SIZE 属性と SQL_ATTR_CONFIG_KEYWORDS_MAXLEN 属性を指定して SQLGetConnectAttr() 関数を呼び出す必要があります。
要確認:
  • 返される構成キーワード値は、デフォルト値であっても (明示的に設定しなくても) 構いません。
  • db2cli.ini ファイル、IBM データ・サーバー・ドライバー構成ファイル (db2dsdriver.cfg)、または接続ストリングに構成キーワード値を設定できます。
  • db2cli.ini ファイルの [COMMON] セクションに指定されたキーワードは返されません。
  • IBM データ・サーバー・ドライバー構成ファイルの以下のサブセクションの下で指定されたキーワードは返されません。
    • 代替サーバー・リストのサブセクション (<alternateserverlist></alternateserverlist>)
    • 代替グループのサブセクション (<alternategroup>/<alternategroup>)
    • クライアント・アフィニティー定義のサブセクション (<clientaffinitydefined></clientaffinitydefined>)
    • クライアント・アフィニティー・ラウンドロビンのサブセクション (<clientaffinityroundrobin></clientaffinityroundrobin>)
    • アフィニティー・リストのサブセクション (<affinitylist></affinitylist>)
  • データベース・サーバーは、戻り値とは異なる別のキーワード値を使用できます。 例えば、サーバーで SET コマンドを明示的に発行すると、クライアントにより設定された構成キーワードがオーバーライドされます。
SQL_CONVERT_* (32 ビット・マスク)

SQL_CONVERT_BIGINT (32 ビット・マスク)
SQL_CONVERT_BINARY (32 ビット・マスク)
SQL_CONVERT_BIT (32 ビット・マスク)
SQL_CONVERT_CHAR (32 ビット・マスク)
SQL_CONVERT_DATE (32 ビット・マスク)
SQL_CONVERT_DECIMAL (32 ビット・マスク)
SQL_CONVERT_DOUBLE (32 ビット・マスク)
SQL_CONVERT_FLOAT (32 ビット・マスク)
SQL_CONVERT_INTEGER (32 ビット・マスク)
SQL_CONVERT_INTERVAL_YEAR_MONTH (32 ビット・マスク)
SQL_CONVERT_INTERVAL_DAY_TIME (32 ビット・マスク)
SQL_CONVERT_LONGVARBINARY (32 ビット・マスク)
SQL_CONVERT_LONGVARCHAR (32 ビット・マスク)
SQL_CONVERT_NUMERIC (32 ビット・マスク)
SQL_CONVERT_REAL (32 ビット・マスク)
SQL_CONVERT_SMALLINT (32 ビット・マスク)
SQL_CONVERT_TIME (32 ビット・マスク)
SQL_CONVERT_TIMESTAMP (32 ビット・マスク)
SQL_CONVERT_TINYINT (32 ビット・マスク)
SQL_CONVERT_VARBINARY (32 ビット・マスク)
SQL_CONVERT_VARCHAR (32 ビット・マスク)
SQL_CONVERT_WCHAR (32 ビット・マスク)
SQL_CONVERT_WLONGVARCHAR (32 ビット・マスク)
SQL_CONVERT_WVARCHAR (32 ビット・マスク)

CONVERT スカラー関数を用いて行われる、InfoType に名前指定されているタイプのデータの変換で、データ・ソースによってサポートされているものを示しています。ビット・マスクがゼロと等しい場合、データ・ソースは、同じデータ・タイプへの変換を含め、名前のあげられているデータ・タイプの変換をサポートしません。

例えば、データ・ソースが SQL_INTEGER データから SQL_DECIMAL データ・タイプへの変換をサポートしているかどうかを調べるため、アプリケーションは、SQL_CONVERT_INTEGER の InfoType 引数とともに SQLGetInfo() 関数を呼び出します。その後アプリケーションは、戻されたビット・マスクに対して SQL_CVT_DECIMAL との AND 演算を実行します。結果値が非ゼロであれば、変換はサポートされています。

以下のビット・マスクを用いて、どの変換がサポートされているかを判別します。
  • SQL_CVT_BIGINT
  • SQL_CVT_BINARY
  • SQL_CVT_BIT
  • SQL_CVT_CHAR
  • SQL_CVT_DATE
  • SQL_CVT_DECIMAL
  • SQL_CVT_DOUBLE
  • SQL_CVT_FLOAT
  • SQL_CVT_INTEGER
  • SQL_CVT_INTERVAL_YEAR_MONTH
  • SQL_CVT_INTERVAL_DAY_TIME
  • SQL_CVT_LONGVARBINARY
  • SQL_CVT_LONGVARCHAR
  • SQL_CVT_NUMERIC
  • SQL_CVT_REAL
  • SQL_CVT_SMALLINT
  • SQL_CVT_TIME
  • SQL_CVT_TIMESTAMP
  • SQL_CVT_TINYINT
  • SQL_CVT_VARBINARY
  • SQL_CVT_VARCHAR
  • SQL_CVT_WCHAR
  • SQL_CVT_WLONGVARCHAR
  • SQL_CVT_WVARCHAR
SQL_CONNECT_CODEPAGE (32 ビット符号なし整数)
現在の接続のコード・ページ。
SQL_CONVERT_FUNCTIONS (32 ビット・マスク)
ドライバーおよび関連データ・ソースによってサポートされているスカラー変換関数を示しています。
CLI バージョン 2.1.1 およびそれ以降では、char 変数 (CHAR、 VARCHAR、LONG VARCHAR および CLOB) と DOUBLE (または FLOAT) との間における ODBC スカラー変換をサポートしています。
  • SQL_FN_CVT_CONVERT : サポートされている変換関数を判別するために使用します。
SQL_CORRELATION_NAME (16 ビット整数)
サーバーでサポートされる相関名の程度を示します。
  • SQL_CN_ANY : すべての有効なユーザー定義名がサポートされます。
  • SQL_CN_NONE : 相関名はサポートされていません。
  • SQL_CN_DIFFERENT : 相関名はサポートされていますが、その名前が表している表の名前とは異なる名前でなければなりません。
SQL_CREATE_ASSERTION (32 ビット・マスク)
CREATE ASSERTION ステートメント中のどの節を DBMS がサポートしているかを示します。 CLI は常にゼロを返し、CREATE ASSERTION ステートメントはサポートしません。
ODBC はさらに、CLI が返さない以下の値を定義します。
  • SQL_CA_CREATE_ASSERTION
  • SQL_CA_CONSTRAINT_INITIALLY_DEFERRED
  • SQL_CA_CONSTRAINT_INITIALLY_IMMEDIATE
  • SQL_CA_CONSTRAINT_DEFERRABLE
  • SQL_CA_CONSTRAINT_NON_DEFERRABLE
SQL_CREATE_CHARACTER_SET (32 ビット・マスク)
CREATE CHARACTER SET ステートメント中のどの節を DBMS がサポートしているかを示します。 CLI は常にゼロを返し、CREATE CHARACTER SET ステートメントはサポートしません。
ODBC はさらに、CLI が返さない以下の値を定義します。
  • SQL_CCS_CREATE_CHARACTER_SET
  • SQL_CCS_COLLATE_CLAUSE
  • SQL_CCS_LIMITED_COLLATION
SQL_CREATE_COLLATION (32 ビット・マスク)
CREATE COLLATION ステートメント中のどの節を DBMS がサポートしているかを示します。 CLI は常にゼロを返し、CREATE COLLATION ステートメントはサポートしません。
ODBC はさらに、CLI が返さない以下の値を定義します。
  • SQL_CCOL_CREATE_COLLATION
SQL_CREATE_DOMAIN (32 ビット・マスク)
CREATE DOMAIN ステートメント中のどの節を DBMS がサポートしているかを示します。 CLI は常にゼロを返し、CREATE DOMAIN ステートメントはサポートしません。
ODBC はさらに、CLI が返さない以下の値を定義します。
  • SQL_CDO_CREATE_DOMAIN
  • SQL_CDO_CONSTRAINT_NAME_DEFINITION
  • SQL_CDO_DEFAULT
  • SQL_CDO_CONSTRAINT
  • SQL_CDO_COLLATION
  • SQL_CDO_CONSTRAINT_INITIALLY_DEFERRED
  • SQL_CDO_CONSTRAINT_INITIALLY_IMMEDIATE
  • SQL_CDO_CONSTRAINT_DEFERRABLE
  • SQL_CDO_CONSTRAINT_NON_DEFERRABLE
SQL_CREATE_MODULE (32 ビット・マスク)
CREATE MODULE ステートメント内のどの節が DBMS でサポートされているかを示します。DB2 for z/OS® の場合、CLI は常にゼロを戻します。
CLI は、次の値を戻します。
  • SQL_CM_CREATE_MODULE
  • SQL_CM_AUTHORIZATION
  • SQL_CM_DEFAULT_CHARACTER_SET
SQL_CREATE_SCHEMA (32 ビット・マスク)
CREATE SCHEMA ステートメント中のどの節を DBMS がサポートしているかを示します。
  • SQL_CS_CREATE_SCHEMA
  • SQL_CS_AUTHORIZATION
  • SQL_CS_DEFAULT_CHARACTER_SET
SQL_CREATE_TABLE (32 ビット・マスク)
CREATE TABLE ステートメント中のどの節を DBMS がサポートしているかを示します。
以下にリストするビット・マスクは、サポートされている節を判別するために使用します。
  • SQL_CT_CREATE_TABLE
  • SQL_CT_TABLE_CONSTRAINT
  • 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 : 列制約の指定がサポートされます。
  • SQL_CT_COLUMN_DEFAULT : 列のデフォルト値の指定がサポートされます。
  • 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 (32 ビット・マスク)
CREATE TRANSLATION ステートメント中のどの節を DBMS がサポートしているかを示します。 CLI は常にゼロを返し、CREATE TRANSLATION ステートメントはサポートしません。
ODBC はさらに、CLI が返さない以下の値を定義します。
  • SQL_CTR_CREATE_TRANSLATION
SQL_CREATE_VIEW (32 ビット・マスク)
CREATE VIEW ステートメント中のどの節を DBMS がサポートしているかを示します。
  • SQL_CV_CREATE_VIEW
  • SQL_CV_CHECK_OPTION
  • SQL_CV_CASCADED
  • SQL_CV_LOCAL
戻り値 0 は、CREATE VIEW ステートメントがサポートされていないことを意味します。
SQL_CURSOR_COMMIT_BEHAVIOR (16 ビット整数)
COMMIT 操作がカーソルにどのような影響を与えるかを示します。 値は、以下のとおりです。
  • SQL_CB_DELETE。 カーソルは削除され、動的 SQL ステートメントに関するアクセス・プランがドロップされます。
  • SQL_CB_CLOSE。カーソルは削除されますが、動的 SQL ステートメントに関するアクセス・プランは保持されます (非照会ステートメントを含む)。
  • SQL_CB_PRESERVE。 カーソルと、 動的ステートメントに関するアクセス・プランは保持されます (非照会ステートメントを含む)。 アプリケーションが継続してデータをフェッチするか、 またはカーソルをクローズしてステートメントを準備せずに照会を再実行できます。
    注: COMMIT の後で、定位置更新や削除などのアクションを行うには、 その前に FETCH を発行してカーソルを再配置しなければなりません。
SQL_CURSOR_ROLLBACK_BEHAVIOR (16 ビット整数)
ROLLBACK 操作がどのようにカーソルに影響を与えるかを示します。 値は、以下のとおりです。
  • SQL_CB_DELETE。 カーソルは削除され、動的 SQL ステートメントに関するアクセス・プランがドロップされます。
  • SQL_CB_CLOSE。カーソルは削除されますが、動的 SQL ステートメントに関するアクセス・プランは保持されます (非照会ステートメントを含む)。
  • SQL_CB_PRESERVE。 カーソルと、 動的ステートメントに関するアクセス・プランは保持されます (非照会ステートメントを含む)。 アプリケーションが継続してデータをフェッチするか、 またはカーソルをクローズしてステートメントを準備せずに照会を再実行できます。
    注: DB2 サーバーには SQL_CB_PRESERVE 特性がありません。
SQL_CURSOR_SENSITIVITY (32 ビット符号なし整数)
以下のように、カーソル・センシティビティーのサポートを示します。
  • SQL_INSENSITIVE。 ステートメント・ハンドル上のすべてのカーソルが示す結果セットには、 同一のトランザクション内にある別のカーソルがその結果セットに対して行った変更が反映されません。
  • SQL_UNSPECIFIED。 同一のトランザクション内の別のカーソルが結果セットに加えた変更を、ステートメント・ハンドル上のカーソルが可視にするかどうかを指定しません。ステートメント・ハンドル上のカーソルは、そのような変更をどれも可視にしないか、 その一部、あるいは全部を可視にすることができます。
  • SQL_SENSITIVE。 カーソルは、同一のトランザクション内の別のカーソルによる変更を感知します。
SQL_DATA_SOURCE_NAME (ストリング)
接続中に使用されるデータ・ソース名を示します。 アプリケーションが SQLConnect() を呼び出した場合、この文字ストリングが szDSN 引数の値になります。 アプリケーションが SQLDriverConnect() または SQLBrowseConnect() を呼び出した場合、 この文字ストリングがドライバーに渡される接続ストリング内の DSN キーワードの値になります。接続ストリング内に DSN キーワードが含まれていなかった場合、この文字ストリングは空ストリングになります。
SQL_DATA_SOURCE_READ_ONLY (ストリング)
文字ストリング "Y" は、 データベースを READ ONLY モードに設定することを示し、 "N" は、READ ONLY モードにセットしないことを示します。 この特性はデータ・ソースそのものにのみ帰属する特性であって、 データ・ソースにアクセスするのに使用できるドライバーの特性ではありません。
SQL_DATABASE_CODEPAGE (32 ビット符号なし整数)
アプリケーションが接続している先のデータベースのコード・ページ。
SQL_DATABASE_NAME (ストリング)
現在使用中のデータベースの名前。
注: このストリングは、非ホスト・システムで SELECT CURRENT SERVER ステートメントによって戻されるものと同じです。 DB2 for z/OSDB2 for i などのホスト・データベースの場合、戻されるストリングは、DCS データベース名になります。このデータベース名は、DB2 Connect™ ゲートウェイでの CATALOG DCS DATABASE DIRECTORY コマンドの発行時に提供されています。
SQL_DATETIME_LITERALS (32 ビット符号なし整数)
DBMS がサポートする、日時リテラルを示します。 CLI は常にゼロを返し、日時リテラルをサポートしません。
ODBC はさらに、CLI が返さない以下の値を定義します。
  • 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 (ストリング)
アクセスされる DBMS 製品の名前。
以下に例を示します。
  • "DB2/6000"
  • "DB2/2"
SQL_DBMS_VER (ストリング)
アクセスされる DBMS 製品のバージョン。 書式 'mm.vv.rrrr' のストリング (mm は主バージョン、vv は副バージョン、および rrrr はリリース番号)。 たとえば、"0r.01.0000" は主バージョン r、 副バージョン 1、リリース 0 に変換します。
SQL_DDL_INDEX (32 ビット符号なし整数)
索引の作成とドロップのサポートを示します。
  • SQL_DI_CREATE_INDEX
  • SQL_DI_DROP_INDEX
SQL_DEFAULT_TXN_ISOLATION (32 ビット・マスク)
サポートされているデフォルトのトランザクション分離レベル。
以下にリストするいずれか 1 つのマスクが返されます。
  • SQL_TXN_READ_UNCOMMITTED : 変更が行われると、すべてのトランザクションがただちにそれを認識します (ダーティー読み取り、反復不能読み取り、および幻像読み取りが可能です)。

    この動作は、IBM データベースの非コミット読み取りレベルと同等です。

  • SQL_TXN_READ_COMMITTED : トランザクション 1 による行読み取りを、トランザクション 2 によって変更およびコミットすることができます (反復不能読み取りおよび幻像読み取りが可能です)。

    この動作は、IBM データベースのカーソル固定レベルと同等です。

  • SQL_TXN_REPEATABLE_READ : トランザクションは、検索条件に一致する行またはペンディング中のトランザクションを追加したり除去したりできます (非コミット読み取りと幻像読み取りが可能です)。

    この動作は、IBM データベースの読み取り固定レベルと同等です。

  • SQL_TXN_SERIALIZABLE : ペンディング中のトランザクションによる影響を受けたデータは他のトランザクションで使用できません (反復可能読み取りも、幻像読み取りも不可能です)。

    この動作は、IBM データベースの反復可能読み取りレベルと同等です。

  • SQL_TXN_VERSIONING : IBM DBMS には適用されません。
  • SQL_TXN_NOCOMMIT : すべての変更内容は操作が正常に終了した時点で有効にコミットされます。明示コミットやロールバックはできません。

    SQL_TXN_NOCOMMIT マスク値は、IBM DB2 for IBM i 分離レベルです。

IBM の用語では、
  • SQL_TXN_READ_UNCOMMITTED は、非コミット読み取りです。
  • SQL_TXN_READ_COMMITTED は、カーソル固定です。
  • SQL_TXN_REPEATABLE_READ は、読み取り固定です。
  • SQL_TXN_SERIALIZABLE は、反復可能読み取りです。
SQL_DESCRIBE_PARAMETER (ストリング)
パラメーターが記述可能であれば "Y"、そうでなければ "N"。
SQL_DM_VER (ストリング)
予約済み。
SQL_DRIVER_BLDLEVEL
現行バージョンの CLI についてのレベル情報を構築します。

情報は sYYMMDD という以下のフォーマットになります。ここで、YY は構築の年、MM は月、DD は日です。例えば、s100610 です。

特殊な構築の場合、フォーマットは、special_JOBID です (JOBID は特殊な構築のジョブ ID)。 例えば、special_39899 です。

完全なバージョン情報は、SQL_DRIVER_BLDLEVEL を SQL_DRIVER_VER と共に使用します。

SQL_DRIVER_HDBC (32 ビット)
CLI のデータベース・ハンドル。
SQL_DRIVER_HDESC (32 ビット)
CLI の記述子ハンドル。
SQL_DRIVER_HENV (32 ビット)
CLI の環境ハンドル。
SQL_DRIVER_HLIB (32 ビット)
予約済み。
SQL_DRIVER_HSTMT (32 ビット)
CLI ドライバー・ステートメント・ハンドル。

ODBC Driver Manager のある ODBC 環境で rgbInfoValue 引数を SQL_DRIVER_HSTMT に設定すると、SQLAllocStmt() 関数から返されるドライバー・マネージャー・ステートメント・ハンドルがアプリケーションから rgbInfoValue 引数の入力値として渡されなければなりません。この場合、rgbInfoValue は入力引数と出力引数の両方です。 ODBC Driver Manager は、マップされた値を返します。 ODBC アプリケーションは、ステートメント・ハンドル値を渡すことにより、CLI 固有の関数を呼び出すことができます。

SQL_DRIVER_NAME (ストリング)
CLI インプリメンテーションのファイル名。
SQL_DRIVER_ODBC_VER (ストリング)
CLIがサポートする ODBC のバージョン番号。 デフォルトでは、CLI"03.51" を返します。 SQLSetEnvAttr() 関数を呼び出して、ODBC ドライバーのバージョンを変更できます。SQL_ATTR_ODBC_VERSION 属性を SQL_OV_ODBC3_80 (値 380) に設定すると、CLI"03.80" を返します。
SQL_DRIVER_VER (ストリング)
IBM Data Server Driver for ODBC and CLI のバージョン。書式 'mm.vv.rrrr' のストリング (mm は主バージョン、vv は副バージョン、および rrrr はリリース)。 例えば、"05.01.0000" は主バージョン 5、 副バージョン 1、リリース 0 に変換します。完全なバージョン情報については、SQL_DRIVER_VER と共に SQL_DRIVER_BLDLEVEL を使用します。
SQL_DROP_ASSERTION (32 ビット符号なし整数)
DROP ASSERTION ステートメント中のどの節を DBMS がサポートしているかを示します。 CLI は常にゼロを返し、DROP ASSERTION ステートメントはサポートしません。

ODBC はさらに、CLI が返さない SQL_DA_DROP_ASSERTION 値を定義します。

SQL_DROP_CHARACTER_SET (32 ビット符号なし整数)
DROP CHARACTER SET ステートメント中のどの節を DBMS がサポートしているかを示します。 CLI は常にゼロを返し、DROP CHARACTER SET ステートメントはサポートしません。

ODBC はさらに、CLI が返さない SQL_DCS_DROP_CHARACTER_SET 値を定義します。

SQL_DROP_COLLATION (32 ビット符号なし整数)
DROP COLLATION ステートメント中のどの節を DBMS がサポートしているかを示します。 CLI は常にゼロを返し、DROP COLLATION ステートメントはサポートしません。

ODBC はさらに、CLI が返さない SQL_DC_DROP_COLLATION 値を定義します。

SQL_DROP_DOMAIN (32 ビット符号なし整数)
DROP DOMAIN ステートメント中のどの節を DBMS がサポートしているかを示します。 CLI は常にゼロを返し、DROP DOMAIN ステートメントはサポートしません。
ODBC はさらに、CLI が返さない以下の値を定義します。
  • SQL_DD_DROP_DOMAIN
  • SQL_DD_CASCADE
  • SQL_DD_RESTRICT
SQL_DROP_MODULE (32 ビット符号なし整数)
DROP MODULE ステートメント中のどの節を DBMS がサポートしているかを示します。 DB2 for z/OS の場合、CLI は常にゼロを戻します。
CLI は、次の値を戻します。
  • SQL_DM_DROP_MODULE
  • SQL_DM_RESTRICT
SQL_DROP_SCHEMA (32 ビット符号なし整数)
DROP SCHEMA ステートメント中のどの節を DBMS がサポートしているかを示します。 CLI は常にゼロを返し、DROP SCHEMA ステートメントはサポートしません。
ODBC はさらに、CLI が返さない以下の値を定義します。
  • SQL_DS_CASCADE
  • SQL_DS_RESTRICT
SQL_DROP_TABLE (32 ビット符号なし整数)
DROP TABLE ステートメント中のどの節を DBMS がサポートしているかを示します。以下のリストには、有効な戻り値が示されています。
  • SQL_DT_DROP_TABLE
  • SQL_DT_CASCADE
  • SQL_DT_RESTRICT
SQL_DROP_TRANSLATION (32 ビット符号なし整数)
DROP TRANSLATION ステートメント中のどの節を DBMS がサポートしているかを示します。 CLI は常にゼロを返し、DROP TRANSLATION ステートメントはサポートしません。
ODBC はさらに、CLI が返さない以下の値を定義します。
  • SQL_DTR_DROP_TRANSLATION
SQL_DROP_VIEW (32 ビット符号なし整数)
DROP VIEW ステートメント中のどの節を DBMS がサポートしているかを示します。 CLI は常にゼロを返し、DROP VIEW ステートメントはサポートしません。
ODBC はさらに、CLI が返さない以下の値を定義します。
  • SQL_DV_CASCADE
  • SQL_DV_RESTRICT
SQL_DTC_TRANSITION_COST (32 ビット符号なしマスク)
接続への参加プロセスが高価かどうか判別する際に、 Microsoft Transaction Server が使用します。CLI は、以下の値を返します。
  • SQL_DTC_ENLIST_EXPENSIVE
  • SQL_DTC_UNENLIST_EXPENSIVE
SQL_DYNAMIC_CURSOR_ATTRIBUTES1 (32 ビット・マスク)
CLI がサポートする動的カーソルの属性を示します (サブセット 1/2)。 以下のリストには、有効な戻り値が示されています。
  • 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_ATTRIBUTES2 (32 ビット・マスク)
CLI がサポートする動的カーソルの属性を示します (サブセット 2/2)。 以下のリストには、有効な戻り値が示されています。
  • 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_EXPRESSIONS_IN_ORDERBY (ストリング)
文字ストリング "Y" は、データベース・サーバーが ORDER BY リストの式の DIRECT 仕様をサポートしていることを示し、"N" は、そのサポートがないことを示します。
SQL_FETCH_DIRECTION (32 ビット・マスク)
サポートされているフェッチ方向。
以下のビット・マスクとフラグを使用して、どのオプションがサポートされているかを判別します。
  • SQL_FD_FETCH_NEXT
  • SQL_FD_FETCH_FIRST
  • SQL_FD_FETCH_LAST
  • SQL_FD_FETCH_PREV
  • SQL_FD_FETCH_ABSOLUTE
  • SQL_FD_FETCH_RELATIVE
  • SQL_FD_FETCH_RESUME
SQL_FILE_USAGE (16 ビット整数)
単一階層のドライバーが、 データ・ソース内のファイルをどのように直接扱うかを示します。 IBM Data Server Driver for ODBC and CLI ドライバーは単一層ドライバーではないため、常に SQL_FILE_NOT_SUPPORTED を返します。
ODBC はさらに、CLI が返さない以下の値を定義します。
  • SQL_FILE_TABLE
  • SQL_FILE_CATALOG
SQL_FORWARD_ONLY_CURSOR_ATTRIBUTES1 (32 ビット・マスク)
CLI がサポートする前方スクロール・カーソルの属性を示します。有効な戻り値は次のとおりです (サブセット 1/2)。
  • SQL_CA1_NEXT
  • SQL_CA1_POSITIONED_UPDATE
  • SQL_CA1_POSITIONED_DELETE
  • SQL_CA1_SELECT_FOR_UPDATE
  • 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_BULK_ADD
  • SQL_CA1_BULK_UPDATE_BY_BOOKMARK
  • SQL_CA1_BULK_DELETE_BY_BOOKMARK
  • SQL_CA1_BULK_FETCH_BY_BOOKMARK
SQL_FORWARD_ONLY_CURSOR_ATTRIBUTES2 (32 ビット・マスク)
CLI がサポートする前方スクロール・カーソルの属性を示します。有効な戻り値は次のとおりです (サブセット 2/2)。
  • SQL_CA2_READ_ONLY_CONCURRENCY
  • SQL_CA2_LOCK_CONCURRENCY
  • SQL_CA2_MAX_ROWS_SELECT
  • SQL_CA2_MAX_ROWS_CATALOG
  • 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_INSERT
  • SQL_CA2_MAX_ROWS_DELETE
  • SQL_CA2_MAX_ROWS_UPDATE
  • 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_GETDATA_EXTENSIONS (32 ビット・マスク)
SQLGetData() 関数に対する拡張がサポートされているかどうかを示します。CLI では、現在以下の拡張が識別されサポートされています。
  • SQL_GD_ANY_COLUMN。 最後のバインド済み列より前にあるバインドされていない列について SQLGetData() を呼び出せます。
  • SQL_GD_ANY_ORDER。 どの順序の列についても SQLGetData() を呼び出せます。
ODBC はさらに、CLI ドライバーが返さない以下の拡張機能を定義します。
  • SQL_GD_BLOCK
  • SQL_GD_BOUND
SQL_GROUP_BY (16 ビット整数)
サーバーによる、GROUP BY 節のサポートの度合いを示します。以下のリストには、有効な戻り値が示されています。
  • SQL_GB_NO_RELATION: GROUP BY 節の列と SELECT リストの列の間のリレーションシップはありません。
  • SQL_GB_NOT_SUPPORTED: GROUP BY 節はサポートされていません。
  • SQL_GB_GROUP_BY_EQUALS_SELECT: GROUP BY 節には、SELECT リスト中のすべての非集約列が含まれていなければなりません。
  • SQL_GB_GROUP_BY_CONTAINS_SELECT: GROUP BY 節には、SELECT リスト中のすべての非集約列が含まれていなければなりません。
  • SQL_GB_COLLATE: COLLATE 節を各グループ化列の最後に指定できます。
SQL_IDENTIFIER_CASE (16 ビット整数)
オブジェクト名 (例えば、表名) の大/小文字の区別を示します。
以下のリストには、有効な戻り値が示されています。
  • SQL_IC_UPPER : 大文字で保管されます。
  • SQL_IC_LOWER : 小文字で保管されます。
  • SQL_IC_SENSITIVE : 大文字小文字の区別があり、混合文字で保管されます。
  • SQL_IC_MIXED : 大文字小文字の区別がなく、混合文字で保管されます。
注: IBM DBMS の ID 名は大文字小文字の区別がありません。
SQL_IDENTIFIER_QUOTE_CHAR (ストリング)
区切り ID を囲むために使用する文字を示します。
SQL_INDEX_KEYWORDS (32 ビット・マスク)
CREATE INDEX ステートメントでサポートされるキーワードを示します。以下のリストには、有効な戻り値が示されています。
  • SQL_IK_NONE - どのキーワードもサポートされません。
  • SQL_IK_ASC - ASC キーワードがサポートされます。
  • SQL_IK_DESC - DESC キーワードがサポートされます。
  • SQL_IK_ALL - すべてのキーワードがサポートされます。
CREATE INDEX ステートメントがサポートされることを確認するため、アプリケーションは SQLGetInfo() 関数を、SQL_DLL_INDEX InfoType 引数を指定して呼び出すことができます。
SQL_INFO_SCHEMA_VIEWS (32 ビット・マスク)
INFORMATION_SCHEMA 内のサポートされるビューを示します。 CLI は常にゼロを返し、INFORMATION_SCHEMA 中のビューをサポートしません。
ODBC はさらに、CLI が返さない以下の値を定義します。
  • SQL_ISV_ASSERTIONS
  • SQL_ISV_CHARACTER_SETS
  • SQL_ISV_CHECK_CONSTRAINTS
  • SQL_ISV_COLLATIONS
  • SQL_ISV_COLUMN_DOMAIN_USAGE
  • SQL_ISV_COLUMN_PRIVILEGES
  • SQL_ISV_COLUMNS
  • SQL_ISV_CONSTRAINT_COLUMN_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_ISV_TABLE_CONSTRAINTS
  • SQL_ISV_TABLE_PRIVILEGES
  • SQL_ISV_TABLES
  • SQL_ISV_TRANSLATIONS
  • SQL_ISV_USAGE_PRIVILEGES
  • SQL_ISV_VIEW_COLUMN_USAGE
  • SQL_ISV_VIEW_TABLE_USAGE
  • SQL_ISV_VIEWS
SQL_INSERT_STATEMENT (32 ビット・マスク)
INSERT ステートメントのサポートを示します。以下のリストには、有効な戻り値が示されています。
  • SQL_IS_INSERT_LITERALS
  • SQL_IS_INSERT_SEARCHED
  • SQL_IS_SELECT_INTO
SQL_INTEGRITY (ストリング)
文字ストリング "Y" は SQL89 および X/Open XPG4 組み込み SQL でデータ・ソースが整合性拡張機能 (IEF) をサポートしていることを示し、 "N" はそのサポートがないことを示します。

CLI の前のバージョンでは、この InfoType 引数は SQL_ODBC_SQL_OPT_IEF でした。

SQL_KEYSET_CURSOR_ATTRIBUTES1 (32 ビット・マスク)
CLI がサポートするキー・セット駆動カーソルの属性を示します。有効な戻り値は次のとおりです (サブセット 1/2)。
  • 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_KEYSET_CURSOR_ATTRIBUTES2 (32 ビット・マスク)
CLI がサポートするキー・セット駆動カーソルの属性を示します。有効な戻り値は次のとおりです (サブセット 2/2)。
  • 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_KEYWORDS (ストリング)
データ・ソース固有のすべてのキーワードのコンマで区切ったリストを示します。 この文字ストリングは、予約されているすべてのキーワードのリストです。 相互操作可能なアプリケーションでは、オブジェクト名にこれらのキーワードを使用しないようにする必要があります。 このリストには、ODBC 独自のキーワードや、データ・ソースと ODBC の両方で使用されるキーワードは載っていません。
SQL_LIKE_ESCAPE_CLAUSE (ストリング)
LIKE 述部内のパーセント文字 (%) と下線 (_) 用のエスケープ文字をデータ・ソースがサポートするかどうかを示します。 また、LIKE 述部のエスケープ文字の定義用の ODBC 構文をドライバーがサポートするかどうかも示します。
  • "Y" は、LIKE 述部内のエスケープ文字のサポートがあることを示します。
  • "N" は、LIKE 述部内のエスケープ文字のサポートがないことを示します。
SQL_LOCK_TYPES (32 ビット・マスク)
予約済みオプション。 ビット・マスクにはゼロが返されます。
SQL_MAX_ASYNC_CONCURRENT_STATEMENTS (32 ビット符号なし整数)
CLI ドライバーが接続でサポートできる、 非同期モードにあるアクティブな並行ステートメントの最大数。制限値が指定されていないか不明である場合、この値はゼロです。
SQL_MAX_BINARY_LITERAL_LEN (32 ビット符号なし整数)
SQL ステートメント内のバイナリー・リテラルの最大長 (SQLGetTypeInfo() 関数で戻されるリテラルの接頭部と接尾部を除いた 16 進文字数) を指定する 32 ビットの符号なし整数値。例えばバイナリー・リテラル 0xFFAA は 4 の長さをもちます。 最大長がない場合や不明である場合、この値はゼロに設定されます。
SQL_MAX_CATALOG_NAME_LEN (16 ビット整数)
データ・ソース内のカタログ名の最大長。 最大長がないか不明である場合、この値はゼロです。

CLI の前のバージョンでは、この fInfoType 引数は SQL_MAX_QUALIFIER_NAME_LEN でした。

SQL_MAX_CHAR_LITERAL_LEN (32 ビット符号なし整数)
SQL ステートメントの文字リテラルの最大長 (バイト単位)。 限度がない場合はゼロです。
SQL_MAX_COLUMN_NAME_LEN (16 ビット整数)
列名の最大長 (バイト単位)。 限度がない場合はゼロです。
SQL_MAX_COLUMNS_IN_GROUP_BY (16 ビット整数)
サーバーが GROUP BY 節でサポートする列の最大数を示します。 限度がない場合はゼロです。
SQL_MAX_COLUMNS_IN_INDEX (16 ビット整数)
サーバーが索引でサポートする列の最大数を示します。 限度がない場合はゼロです。
SQL_MAX_COLUMNS_IN_ORDER_BY (16 ビット整数)
サーバーが ORDER BY 節でサポートする列の最大数を示します。 限度がない場合はゼロです。
SQL_MAX_COLUMNS_IN_SELECT (16 ビット整数)
サーバーが SELECT リストでサポートする列の最大数を示します。限度がない場合はゼロです。
SQL_MAX_COLUMNS_IN_TABLE (16 ビット整数)
サーバーが基本表でサポートする列の最大数を示します。 限度がない場合はゼロです。
SQL_MAX_CONCURRENT_ACTIVITIES (16 ビット整数)
CLI がサポートできるアクティブ環境の最大数。 制限値が指定されていないか不明である場合、この値はゼロに設定されます。

CLI の前のバージョンでは、この InfoType 引数は SQL_ACTIVE_ENVIRONMENTS でした

SQL_MAX_CURSOR_NAME_LEN (16 ビット整数)
カーソル名の最大長 (バイト単位)。 最大長がないか不明である場合、この値はゼロです。
SQL_MAX_DRIVER_CONNECTIONS (16 ビット整数)
アプリケーションごとにサポートされているアクティブ接続の最大数。

限度がシステム・リソースによって異なる場合は、ゼロが返されます。

CLI の前のバージョンでは、この InfoType 引数は SQL_ACTIVE_CONNECTIONS でした。

SQL_MAX_IDENTIFIER_LEN (16 ビット整数)
ユーザー定義名に対してデータ・ソースがサポートする最大サイズ (文字単位)。
SQL_MAX_INDEX_SIZE (32 ビット符号なし整数)
サーバーが索引中の結合列のためにサポートする最大サイズをバイト単位で示します。 限度がない場合はゼロです。
SQL_MAX_MODULE_NAME_LEN (16 ビット整数)
モジュール修飾子名の最大長をバイト単位で示します。
SQL_MAX_PROCEDURE_NAME_LEN (16 ビット整数)
プロシージャー名の最大長 (バイト単位)。
SQL_MAX_ROW_SIZE (32 ビット符号なし整数)
サーバーが基本表の単一の行でサポートする最大長をバイト単位で指定します。 限度がない場合はゼロです。
SQL_MAX_ROW_SIZE_INCLUDES_LONG (ストリング)
SQL_MAX_ROW_SIZE InfoType 引数によって返される値に製品固有の長ストリング・データ・タイプが組み込まれることを示す場合は、"Y" に設定します。それ以外は、"N" に設定します。
SQL_MAX_SCHEMA_NAME_LEN (16 ビット整数)
スキーマ修飾子名の最大長 (バイト単位)。

CLI の前のバージョンでは、この fInfoType 引数は SQL_MAX_OWNER_NAME_LEN でした。

SQL_MAX_STATEMENT_LEN (32 ビット符号なし整数)
SQL ステートメント・ストリングの最大長をバイト単位で示します (ステートメント内の空白の数を含む)。
SQL_MAX_TABLE_NAME_LEN (16 ビット整数)
表名の最大長 (バイト単位)。
SQL_MAX_TABLES_IN_SELECT (16 ビット整数)
<query specification> 中の FROM 節の表名の最大数を示します。
SQL_MAX_USER_NAME_LEN (16 ビット整数)
<user identifier> の最大サイズを示します (バイト単位)。
SQL_MODULE_USAGE (32 ビット・マスク)
SQL ステートメントの実行時に、関連したモジュールのあるステートメントのタイプを示します。DB2 for z/OS の場合、CLI は常にゼロを戻します。

SQL_MU_PROCEDURE_INVOCATION は、プロシージャー呼び出しステートメントでサポートされています。

SQL_MULT_RESULT_SETS (ストリング)
文字ストリング "Y" は、 データベースが複数の結果セットをサポートしていることを示し、 "N" はそれをサポートしていないことを示します。
SQL_MULTIPLE_ACTIVE_TXN (ストリング)
複数の接続でアクティブなトランザクションが許可されるかどうかを示します。
  • "Y" は、複数の接続でアクティブなトランザクションを持てることを示します。
  • "N" は、一度に 1 つの接続だけが、アクティブなトランザクションを持てることを示します。 CLI ドライバーは、整合 分散作業単位 (CONNECT TYPE 2) 接続の場合は "N" を返し、その他すべての接続の場合は "Y" を返します。
SQL_NEED_LONG_DATA_LEN (ストリング)
ODBC を使用するために予約されている文字ストリングを示します。常に、"N" が戻されます。
SQL_NON_NULLABLE_COLUMNS (16 ビット整数)
NULL 不可列がサポートされているかどうかを示します。以下のリストには、有効な戻り値が示されています。
  • SQL_NNC_NON_NULL - NOT NULL として定義できます。
  • SQL_NNC_NULL - NOT NULL として定義できません。
SQL_NULL_COLLATION (16 ビット整数)
結果セット内で NULL がソートされるかどうかを示します。以下のリストには、有効な戻り値が示されています。
  • SQL_NC_HIGH - NULL 値は高位にソートされます。
  • SQL_NC_LOW - NULL 値は低位にソートされます。
SQL_NUMERIC_FUNCTIONS (32 ビット・マスク)
ODBC スカラー数字関数がサポートされることを示します。これらの関数は ODBC ベンダー・エスケープ・シーケンスとともに使用することを目的としています。
以下のビット・マスクを用いて、どの数字関数がサポートされているかを確かめます。
  • SQL_FN_NUM_ABS
  • SQL_FN_NUM_ACOS
  • SQL_FN_NUM_ASIN
  • SQL_FN_NUM_ATAN
  • SQL_FN_NUM_ATAN2
  • SQL_FN_NUM_CEILING
  • SQL_FN_NUM_COS
  • SQL_FN_NUM_COT
  • SQL_FN_NUM_DEGREES
  • SQL_FN_NUM_EXP
  • SQL_FN_NUM_FLOOR
  • SQL_FN_NUM_LOG
  • SQL_FN_NUM_LOG10
  • SQL_FN_NUM_MOD
  • SQL_FN_NUM_PI
  • SQL_FN_NUM_POWER
  • SQL_FN_NUM_RADIANS
  • SQL_FN_NUM_RAND
  • SQL_FN_NUM_ROUND
  • SQL_FN_NUM_SIGN
  • SQL_FN_NUM_SIN
  • SQL_FN_NUM_SQRT
  • SQL_FN_NUM_TAN
  • SQL_FN_NUM_TRUNCATE
SQL_ODBC_API_CONFORMANCE (16 ビット整数)
ODBC 適合性のレベルを示します。以下のリストには、有効な戻り値が示されています。
  • SQL_OAC_NONE
  • SQL_OAC_LEVEL1
  • SQL_OAC_LEVEL2
SQL_ODBC_INTERFACE_CONFORMANCE (32 ビット符号なし整数)
CLI ドライバーが準拠している ODBC 3.0 インターフェースのレベルを示します。
  • SQL_OIC_CORE : すべての ODBC ドライバーが準拠していると期待される最小レベル。このレベルには、接続機能などの基本インターフェース要素、 SQL ステートメントの準備および実行のための機能、 基本的な結果セット・メタデータ機能、基本的なカタログ機能などが含まれます。
  • SQL_OIC_LEVEL1 : 上記のような中核となる規格に準拠するレベルの機能に加え、両方向スクロール・カーソル、更新部分や削除部分の位置を示すブックマークなどを含むレベル。
  • SQL_OIC_LEVEL2 : レベル 1 の規格に準拠するレベルの機能に加え、機密カーソル、ブックマークによる更新/削除/最新表示、ストアード・プロシージャーのサポート、主キーおよび外部キーに対するカタログ機能、マルチカタログ・サポートなどの拡張フィーチャーが含まれているレベル。
SQL_ODBC_SAG_CLI_CONFORMANCE (16 ビット整数)
SQL アクセス・グループ (SAG) CLI 仕様の関数の適合性。
以下のリストには、有効な戻り値が示されています。
  • SQL_OSCC_NOT_COMPLIANT : ドライバーは SAG に適合しません。
  • SQL_OSCC_COMPLIANT : ドライバーは SAG に適合します。
SQL_ODBC_SQL_CONFORMANCE (16 ビット整数)
以下のリストには、有効な戻り値が示されています。
  • SQL_OSC_MINIMUM : 最低限の ODBC SQL 文法がサポートされます。
  • SQL_OSC_CORE : コア ODBC SQL 文法がサポートされます。
  • SQL_OSC_EXTENDED : 拡張された ODBC SQL 文法がサポートされます。
SQL_ODBC_VER (ストリング)
ドライバー・マネージャーがサポートする ODBC のバージョン番号。

CLI は、ストリング "03.01.0000" を返します。CLI はストリング "03.01.0000" を返します。Windows 7 および Windows Server 2008 R2 オペレーティング・システムでは、CLI はストリング "03.80.0000" を返します。

SQL_OJ_CAPABILITIES (32 ビット・マスク)
サポートされている外部結合タイプを列挙する 32 ビット・マスク。
以下のリストには、ビット・マスクが示されています。
  • SQL_OJ_LEFT : 左方外部結合がサポートされています。
  • SQL_OJ_RIGHT : 右方外部結合がサポートされています。
  • SQL_OJ_FULL : 全外部結合がサポートされています。
  • SQL_OJ_NESTED : ネスト外部結合がサポートされています。
  • SQL_OJ_ORDERED: 列名は、外部結合の ON 節のそれぞれの表名の順序と同じである必要はありません。
  • SQL_OJ_INNER: 左外部結合の右側の表または右外部結合の左側の表を、内部結合で使用できます。
  • SQL_OJ_ALL_COMPARISONS_OPS : 外部結合 ON 節内でどの述部でも使用できます。 このビットを設定しない場合、外部結合内で使える比較演算子は等価演算子 (=) だけです。
SQL_ORDER_BY_COLUMNS_IN_SELECT (ストリング)
ORDER BY 節の列を選択リストに入れる必要がある場合は "Y" に設定してください。 必要がない場合は "N" に設定してください。
SQL_OUTER_JOINS (ストリング)
以下の文字ストリングは、以下の意味で使用されています。
  • "Y" は、外部結合がサポートされていて、 CLI が ODBC 外部結合要求構文をサポートしていることを示します。
  • "N" は、外部結合がサポートされていないことを示します。
SQL_PARAM_ARRAY_ROW_COUNTS (32 ビット符号なし整数)
パラメーター化実行における行カウントの可用性を示します。
  • SQL_PARC_BATCH : 個々の行カウントをパラメーターの各セットで使用できます。この動作は概念的には、SQL ステートメントのバッチを生成する CLI と同等であり、配列内の各パラメーター・セットについて 1 つあります。 SQL_PARAM_STATUS_PTR 記述子フィールドを利用すれば、拡張エラー情報を検索できます。非アトミック操作でこの動作を使用可能にするには、SQL_ATTR_PARC_BATCH 接続属性を SQL_PARC_BATCH_ENABLE に設定し、SQL_ATTR_PARAMOPT_ATOMIC を SQL_ATOMIC_NO に設定します。SQL_ATTR_PARAMOPT_ATOMIC が SQL_ATOMIC_YES に設定されていると、CLI0150E エラー・メッセージが返されます。
  • SQL_PARC_NO_BATCH : 使用できる行カウントは 1 つだけです。これは、パラメーターの配列全体に対するステートメントの実行から得られる累積行カウントです。この動作は概念的には、 ステートメントとパラメーター配列全体とを 1 つのアトミック単位として扱うのと同等です。 エラーの処理は、1 つのステートメントを実行する場合と同じように行われます。
SQL_PARAM_ARRAY_SELECTS (32 ビット符号なし整数)
パラメーター化実行における結果セットの可用性を示します。以下のリストには、有効な戻り値が示されています。
  • SQL_PAS_BATCH : パラメーターのセットにつき使用できる結果セットは 1 つです。SQL_PAS_BATCH は概念的には、SQL ステートメントのバッチを生成する CLI と同等であり、配列内のパラメーター・セットごとに 1 つずつあります。
  • SQL_PAS_NO_BATCH : 使用できる結果セットは 1 つしかなく、それはパラメーターの配列全体に対するステートメントの実行により生じる累積結果セットを表します。SQL_PAS_NO_BATCH は概念的には、ステートメントとパラメーター配列全体とを 1 つのアトミック単位として扱うのと同等です。
  • SQL_PAS_NO_SELECT : 結果セットを生成するステートメントにパラメーターの配列を指定して実行することを、CLI が許可しません。
SQL_POS_OPERATIONS (32 ビット・マスク)
予約済みオプション。 ビット・マスクにはゼロが返されます。
SQL_POSITIONED_STATEMENTS (32 ビット・マスク)
定位置 UPDATE および定位置 DELETE ステートメントがサポートされている程度を示します。
  • SQL_PS_POSITIONED_DELETE
  • SQL_PS_POSITIONED_UPDATE
  • SQL_PS_SELECT_FOR_UPDATE - これは、カーソルを使用して列を更新できるようにするために、サーバーが FOR UPDATE 節を <query expression> に指定する必要があるかどうかを示します。
SQL_PROCEDURE_TERM (ストリング)
データベース・ベンダーがプロシージャー用に使用している名前
SQL_PROCEDURES (ストリング)
文字ストリング "Y" は、データ・ソースがプロシージャーをサポートし、CLI ドライバーが ODBC 標準によって指定された CALL ステートメント構文をサポートしていることを示します。 "N" 値は、サポートされていないことを示します。
SQL_QUOTED_IDENTIFIER_CASE (16 ビット整数)
以下のリストには、有効な戻り値が示されています。
  • SQL_IC_UPPER : 大/小文字の区別がなく、大文字で保管されます。
  • SQL_IC_LOWER : 大/小文字の区別がなく、小文字で保管されます。
  • SQL_IC_SENSITIVE : SQL 中の引用符付き ID (区切り ID) は大文字小文字の区別があり、混合文字でシステム・カタログに保管されます。
  • SQL_IC_MIXED - 大/小文字の区別がなく、大/小文字混合で保管されます。

SQL_QUOTED_ IDENTIFIER_CASE 整数を、システム・カタログに (引用符なし) ID を保管する方法を判別するために使用される SQL_IDENTIFIER_CASE InfoType 引数と対比させることができます。

SQL_ROW_UPDATES (ストリング)
文字ストリング "Y" の場合、キー・セット・ドリブン・カーソルまたは混合カーソルが、フェッチされたすべての行のバージョンまたは値を維持するので、行の最後のフェッチ以後に行に対して加えられた更新を検出できることを意味します。この文字ストリングに該当するのは、削除や追加ではなく、更新です。SQLFetchScroll() を呼び出した場合、CLI は SQL_ROW_UPDATED フラグを行状況配列に戻すことがあります。 それ以外の場合は、"N" が返されます。
SQL_SCHEMA_TERM (ストリング)
データベース・ベンダーのスキーマ (所有者) 用の用語。

CLI の前のバージョンでは、 この InfoType は SQL_OWNER_TERM でした。

SQL_SCHEMA_USAGE (32 ビット・マスク)
実行されるときにスキーマ (所有者) と関連付けられる SQL ステートメントのタイプを示します。以下のリストには、返される有効なスキーマ修飾子 (所有者) が示されています。
  • SQL_SU_DML_STATEMENTS - すべての DML ステートメント。
  • SQL_SU_PROCEDURE_INVOCATION - プロシージャー呼び出しステートメント。
  • SQL_SU_TABLE_DEFINITION - すべての表定義ステートメント。
  • SQL_SU_INDEX_DEFINITION - すべての索引定義ステートメント。
  • SQL_SU_PRIVILEGE_DEFINITION - すべての特権定義ステートメント (GRANT ステートメントと REVOKE ステートメント)。

CLI の前のバージョンでは、この InfoType 引数は SQL_OWNER_USAGE でした。

SQL_SCROLL_CONCURRENCY (32 ビット・マスク)
カーソル用にサポートされている並行性オプションを示します。
以下のビット・マスクとフラグを使用して、どのオプションがサポートされているかを判別します。
  • SQL_SCCO_LOCK
  • SQL_SCCO_READ_ONLY
  • SQL_SCCO_TIMESTAMP
  • SQL_SCCO_VALUES

CLI は SQL_SCCO_LOCK を戻し、更新を行うために十分なロックのうち最低のレベルを示します。

SQL_SCROLL_OPTIONS (32 ビット・マスク)
両方向スクロール・カーソルをサポートするスクロール・オプションを示します。
以下のビット・マスクとフラグを使用して、どのオプションがサポートされているかを判別します。
  • SQL_SO_FORWARD_ONLY: カーソルは前方スクロールのみ可能です。
  • SQL_SO_KEYSET_DRIVEN: CLI は、結果セット内のすべての行のキーを保管して使用します。
  • SQL_SO_STATIC: 結果セット内のデータは、静的データです。
  • SQL_SO_DYNAMIC: CLI は、行セット内の各行のキーを保存します (キー・セットのサイズは行セットのサイズと同じです)。
  • SQL_SO_MIXED: CLI は、キー・セット内の各行のキーを保存しますが、 キー・セットのサイズは行セットのサイズより大きいです。 カーソルは、キー・セット内部ではキー・セット主導型ですが、キー・セット外部では動的カーソルです。
SQL_SEARCH_PATTERN_ESCAPE (ストリング)
SQLTables() 関数や SQLColumns() 関数などのカタログ関数用のエスケープ文字として、 ドライバーがサポートするものを指定するために使用します。
SQL_SERVER_NAME (ストリング)
DB2 インスタンスの名前を示します。この文字ストリングは SQL_DATA_SOURCE_NAME 文字ストリングとは対照的に、データベース・サーバーの実際の名前です。DBMS の中には、データベースの実際のサーバー名と違う名前を提供して接続を確立するものもあります。
SQL_SPECIAL_CHARACTERS (ストリング)
データ・ソースにおいて表、列、索引の名前などの ID 名内で使用できる特殊文字 (a...z、A...Z、0...9、および下線以外のすべての文字) のみを使用した文字ストリング。例えば "@#" などがあります。ID 内で特殊文字を使用する場合、その ID は区切り ID でなければなりません。
SQL_SQL_CONFORMANCE (32 ビット符号なし整数)
サポートしている SQL-92 のレベルを示します。
  • 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 (32 ビット・マスク)
CLI およびデータ・ソースがサポートする日時スカラー関数を示します。以下のリストには、有効な戻り値が示されています。
  • SQL_SDF_CURRENT_DATE
  • SQL_SDF_CURRENT_TIME
  • SQL_SDF_CURRENT_TIMESTAMP
SQL_SQL92_FOREIGN_KEY_DELETE_RULE (32 ビット・マスク)
DELETE ステートメント中の外部キーに対してサポートされる規則 (SQL-92 により定義) を示します。以下のリストには、有効な戻り値が示されています。
  • SQL_SFKD_CASCADE
  • SQL_SFKD_NO_ACTION
  • SQL_SFKD_SET_DEFAULT
  • SQL_SFKD_SET_NULL
SQL_SQL92_FOREIGN_KEY_UPDATE_RULE (32 ビット・マスク)
UPDATE ステートメント中の外部キーに対してサポートされる規則 (SQL-92 により定義) を示します。以下のリストには、有効な戻り値が示されています。
  • SQL_SFKU_CASCADE
  • SQL_SFKU_NO_ACTION
  • SQL_SFKU_SET_DEFAULT
  • SQL_SFKU_SET_NULL
SQL_SQL92_GRANT (32 ビット・マスク)
GRANT ステートメント中でサポートされる節 (SQL-92 により定義) を示します。以下のリストには、有効な戻り値が示されています。
  • 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
  • SQL_SG_USAGE_ON_CHARACTER_SET
  • SQL_SG_USAGE_ON_COLLATION
  • SQL_SG_USAGE_ON_TRANSLATION
  • SQL_SG_WITH_GRANT_OPTION
SQL_SQL92_NUMERIC_VALUE_FUNCTIONS (32 ビット・マスク)
CLI およびデータ・ソースがサポートする数値スカラー関数 (SQL-92 により定義) を示します。以下のリストには、有効な戻り値が示されています。
  • 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 (32 ビット・マスク)
SELECT ステートメント中でサポートされる述部 (SQL-92 により定義) を示します。以下のリストには、有効な戻り値が示されています。
  • 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
  • SQL_SP_QUANTIFIED_COMPARISON
  • SQL_SP_UNIQUE
SQL_SQL92_RELATIONAL_JOIN_OPERATORS (32 ビット・マスク)
SELECT ステートメント中でサポートされる関係結合演算子 (SQL-92 により定義) を示します。以下のリストには、有効な戻り値が示されています。
  • SQL_SRJO_CORRESPONDING_CLAUSE
  • SQL_SRJO_CROSS_JOIN
  • SQL_SRJO_EXCEPT_JOIN
  • SQL_SRJO_FULL_OUTER_JOIN
  • SQL_SRJO_INNER_JOIN (内部結合機能ではなく、INNER JOIN 構文のサポートを示します)
  • SQL_SRJO_INTERSECT_JOIN
  • SQL_SRJO_LEFT_OUTER_JOIN
  • SQL_SRJO_NATURAL_JOIN
  • SQL_SRJO_RIGHT_OUTER_JOIN
  • SQL_SRJO_UNION_JOIN
SQL_SQL92_REVOKE (32 ビット・マスク)
REVOKE ステートメント中でデータ・ソースがサポートする節 (SQL-92 により定義) を示します。以下のリストには、有効な戻り値が示されています。
  • SQL_SR_CASCADE
  • 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
  • SQL_SR_SELECT_TABLE
  • SQL_SR_UPDATE_COLUMN
  • SQL_SR_UPDATE_TABLE
  • SQL_SR_USAGE_ON_DOMAIN
  • SQL_SR_USAGE_ON_CHARACTER_SET
  • SQL_SR_USAGE_ON_COLLATION
  • SQL_SR_USAGE_ON_TRANSLATION
SQL_SQL92_ROW_VALUE_CONSTRUCTOR (32 ビット・マスク)
SELECT ステートメント中でサポートされる行値コンストラクター式 (SQL-92 により定義) を示します。以下のリストには、有効な戻り値が示されています。
  • SQL_SRVC_DEFAULT
  • SQL_SRVC_NULL
  • SQL_SRVC_ROW_SUBQUERY
  • SQL_SRVC_VALUE_EXPRESSION
SQL_SQL92_STRING_FUNCTIONS (32 ビット・マスク)
CLI およびデータ・ソースがサポートするストリング・スカラー関数 (SQL-92 により定義) を示します。以下のリストには、有効な戻り値が示されています。
  • SQL_SSF_CONVERT
  • SQL_SSF_LOWER
  • SQL_SSF_SUBSTRING
  • SQL_SSF_TRANSLATE
  • SQL_SSF_TRIM_BOTH
  • SQL_SSF_TRIM_LEADING
  • SQL_SSF_TRIM_TRAILING
  • SQL_SSF_UPPER
SQL_SQL92_VALUE_EXPRESSIONS (32 ビット・マスク)
サポートされる値式 (SQL-92 により定義) を示します。以下のリストには、有効な戻り値が示されています。
  • SQL_SVE_CASE
  • SQL_SVE_CAST
  • SQL_SVE_COALESCE
  • SQL_SVE_NULLIF
SQL_STANDARD_CLI_CONFORMANCE (32 ビット・マスク)
CLI が準拠している 1 つ以上の CLI 標準を示します。以下のリストには、有効な戻り値が示されています。
  • SQL_SCC_ISO92_CLI
  • SQL_SCC_XOPEN_CLI_VERSION1
SQL_STATIC_CURSOR_ATTRIBUTES1 (32 ビット・マスク)
CLI がサポートする静的カーソルの属性を示します。有効な戻り値は次のとおりです (サブセット 1/2)。
  • SQL_CA1_ABSOLUTE
  • SQL_CA1_BOOKMARK
  • SQL_CA1_BULK_ADD
  • SQL_CA1_BULK_DELETE_BY_BOOKMARK
  • SQL_CA1_BULK_FETCH_BY_BOOKMARK
  • SQL_CA1_BULK_UPDATE_BY_BOOKMARK
  • SQL_CA1_LOCK_EXCLUSIVE
  • SQL_CA1_LOCK_NO_CHANGE
  • SQL_CA1_LOCK_UNLOCK
  • SQL_CA1_NEXT
  • SQL_CA1_POS_DELETE
  • SQL_CA1_POS_POSITION
  • SQL_CA1_POS_REFRESH
  • SQL_CA1_POS_UPDATE
  • SQL_CA1_POSITIONED_UPDATE
  • SQL_CA1_POSITIONED_DELETE
  • SQL_CA1_RELATIVE
  • SQL_CA1_SELECT_FOR_UPDATE
SQL_STATIC_CURSOR_ATTRIBUTES2 (32 ビット・マスク)
CLI がサポートする静的カーソルの属性を示します (サブセット 2/2)。
  • 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_STATIC_SENSITIVITY (32 ビット・マスク)
アプリケーションが定位置更新や削除によって加えた変更を、そのアプリケーションが検出できるかどうかを示します。以下のリストには、有効な戻り値が示されています。
  • SQL_SS_ADDITIONS: カーソルは追加された行を認識でき、カーソルは追加された行へスクロールできます。すべての DB2 サーバーは追加された行を認識できます。
  • SQL_SS_DELETIONS: カーソルは削除された行を使用できなくなり、結果セットに空いた穴を残しません。削除された行からカーソルがスクロールした後、その行に戻ることはできません。
  • SQL_SS_UPDATES: カーソルは、更新された行を認識できます。 カーソルが、更新された行からスクロールした後にその行に戻ると、そのカーソルから返されるデータは更新されたデータになり、元のデータは返されません。
SQL_STRING_FUNCTIONS (32 ビット・マスク)
どのストリング関数がサポートされているかを示します。
以下のビット・マスクを用いて、どのストリング関数がサポートされているかを示します。
  • SQL_FN_STR_ASCII
  • SQL_FN_STR_BIT_LENGTH
  • SQL_FN_STR_CHAR
  • SQL_FN_STR_CHAR_LENGTH
  • SQL_FN_STR_CHARACTER_LENGTH
  • SQL_FN_STR_CONCAT
  • SQL_FN_STR_DIFFERENCE
  • SQL_FN_STR_INSERT
  • SQL_FN_STR_LCASE
  • SQL_FN_STR_LEFT
  • SQL_FN_STR_LENGTH
  • SQL_FN_STR_LOCATE
  • SQL_FN_STR_LOCATE_2
  • SQL_FN_STR_LTRIM
  • SQL_FN_STR_OCTET_LENGTH
  • SQL_FN_STR_POSITION
  • SQL_FN_STR_REPEAT
  • SQL_FN_STR_REPLACE
  • SQL_FN_STR_RIGHT
  • SQL_FN_STR_RTRIM
  • SQL_FN_STR_SOUNDEX
  • SQL_FN_STR_SPACE
  • SQL_FN_STR_SUBSTRING
  • SQL_FN_STR_UCASE

アプリケーションが、string_exp1、string_exp2、 および start 引数を指定した LOCATE スカラー関数を呼び出せる場合は、SQL_FN_STR_LOCATE ビット・マスクが返されます。アプリケーションが呼び出せるのが、string_exp1 および string_exp2 引数を指定した LOCATE スカラー関数だけである場合は、SQL_FN_STR_LOCATE_2 ビット・マスクが返されます。LOCATE スカラー関数が完全にサポートされている場合は、両方のビット・マスクが返されます。

SQL_SUBQUERIES (32 ビット・マスク)
副照会をサポートしている述部を示します。以下のリストには、有効な戻り値が示されています。
  • SQL_SQ_COMPARISION : comparison (比較) 述部。
  • SQL_SQ_CORRELATE_SUBQUERIES : 副照会をサポートするすべての述部は、相関副照会もサポートします。
  • SQL_SQ_EXISTS : exists (存在) 述部。
  • SQL_SQ_IN : in (~にある) 述部。
  • SQL_SQ_QUANTIFIED : 多値比較スカラー関数を含む述部。
SQL_SYSTEM_FUNCTIONS (32 ビット・マスク)
どのスカラー・システム関数がサポートされているかを示します。
以下のビット・マスクを用いて、どのスカラー・システム関数がサポートされているかを示します。
  • SQL_FN_SYS_DBNAME
  • SQL_FN_SYS_IFNULL
  • SQL_FN_SYS_USERNAME
注: これらの関数は、 ODBC のエスケープ・シーケンスと一緒に使用するためのものです。
SQL_TABLE_TERM (ストリング)
表に関するデータベース・ベンダーの用語。
SQL_TIMEDATE_ADD_INTERVALS (32 ビット・マスク)
特殊な ODBC システム関数 TIMESTAMPADD がサポートされているかどうか、 および、サポートされている場合はサポートされているインターバルを示します。
以下のビット・マスクを用いて、どのインターバルがサポートされているかを示します。
  • 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
SQL_TIMEDATE_DIFF_INTERVALS (32 ビット・マスク)
特殊な ODBC システム関数 TIMESTAMPDIFF がサポートされているかどうか、 および、サポートされている場合はサポートされているインターバルを示します。
以下のビット・マスクを用いて、どのインターバルがサポートされているかを示します。
  • 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
SQL_TIMEDATE_FUNCTIONS (32 ビット・マスク)
どの日時関数がサポートされているかを示します。
以下のビット・マスクを用いて、どの日時関数がサポートされているかを示します。
  • SQL_FN_TD_CURRENT_DATE
  • SQL_FN_TD_CURRENT_TIME
  • SQL_FN_TD_CURRENT_TIMESTAMP
  • SQL_FN_TD_CURDATE
  • SQL_FN_TD_CURTIME
  • SQL_FN_TD_DAYNAME
  • SQL_FN_TD_DAYOFMONTH
  • SQL_FN_TD_DAYOFWEEK
  • SQL_FN_TD_DAYOFYEAR
  • SQL_FN_TD_EXTRACT
  • SQL_FN_TD_HOUR
  • SQL_FN_TD_JULIAN_DAY
  • SQL_FN_TD_MINUTE
  • SQL_FN_TD_MONTH
  • SQL_FN_TD_MONTHNAME
  • SQL_FN_TD_NOW
  • SQL_FN_TD_QUARTER
  • SQL_FN_TD_SECOND
  • SQL_FN_TD_SECONDS_SINCE_MIDNIGHT
  • SQL_FN_TD_TIMESTAMPADD
  • SQL_FN_TD_TIMESTAMPDIFF
  • SQL_FN_TD_WEEK
  • SQL_FN_TD_YEAR
注: これらの関数は、 ODBC のエスケープ・シーケンスと一緒に使用するためのものです。
SQL_TXN_CAPABLE (16 ビット整数)
トランザクションに DDL、DML、またはその両方が含まれているかどうかを示します。以下のリストには、有効な戻り値が示されています。
  • SQL_TC_NONE : トランザクションはサポートされていません。
  • SQL_TC_DML : トランザクションは DML ステートメント (例えば SELECT、INSERT、UPDATE、および DELETE) だけを含むことができます。トランザクション内に CREATE TABLE や DROP INDEX などの DDL ステートメントがあると、エラーの原因となります。
  • SQL_TC_DDL_COMMIT : トランザクションは DML ステートメントだけを含むことができます。トランザクションに DDL ステートメントがあると、そのトランザクションはコミットされます。
  • SQL_TC_DDL_IGNORE : トランザクションは DML ステートメントだけを含むことができます。トランザクションに DDL ステートメントがあると、そのステートメントは無視されます。
  • SQL_TC_ALL : トランザクションは、DDL ステートメントと DML ステートメントを任意の順序で含むことができます。
SQL_TXN_ISOLATION_OPTION (32 ビット・マスク)
現在接続中のデータベース・サーバーで使用できるトランザクション分離レベル。
以下にリストするマスクとフラグを使用して、どのオプションがサポートされているかを判別します。
  • SQL_TXN_READ_UNCOMMITTED
  • SQL_TXN_READ_COMMITTED
  • SQL_TXN_REPEATABLE_READ
  • SQL_TXN_SERIALIZABLE
  • SQL_TXN_NOCOMMIT
  • SQL_TXN_VERSIONING

個々のレベルに関する説明は、SQL_DEFAULT_TXN_ISOLATION を参照してください。

SQL_UNION (32 ビット・マスク)
サーバーが UNION 演算子をサポートしているかどうかを示します。以下のリストには、有効な戻り値が示されています。
  • SQL_U_UNION : UNION 節をサポートしています。
  • SQL_U_UNION_ALL : UNION 節の ALL キーワードをサポートしています。

SQL_U_UNION_ALL が設定されている場合は、SQL_U_UNION です。

SQL_USER_NAME (ストリング)
特定のデータベースで使用されるユーザー名を示します。この文字ストリングは SQLConnect() 呼び出しで指定される ID です。
SQL_XOPEN_CLI_YEAR (ストリング)
該当バージョンのドライバーが完全に準拠している X/Open 仕様の資料の年度を示します。