Hitachi

ノンストップデータベース HiRDB Version 10 UAP開発ガイド


13.6.9 SQLGetInfo

SQLGetInfoで指定できる情報型を次に示します。

〈この項の構成〉

(1) ドライバの情報

アクティブステートメントの数,データソース名,及びインタフェース規格の合致レベルなどのODBCドライバについての情報を返却します。SQLGetInfoで指定できるドライバの情報を次の表に示します。

表13‒20 SQLGetInfoで指定できるドライバの情報

オプション値

指定可否

備考

SQL_ACTIVE_ENVIRONMENTS

○

−

SQL_ASYNC_MODE

○

−

SQL_BATCH_ROW_COUNT

○

−

SQL_BATCH_SUPPORT

○

−

SQL_DATA_SOURCE_NAME

○

−

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_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

○

−

(凡例)

○:指定できます。

−:特にありません。

(2) DBMS製品の情報

DBMS製品の名称やバージョンなどの情報を返却します。SQLGetInfoで指定できるDBMS製品の情報を次の表に示します。

表13‒21 SQLGetInfoで指定できるDBMS製品の情報

オプション値

指定可否

備考

SQL_DATABASE_NAME

○

−

SQL_DBMS_NAME

○

−

SQL_DBMS_VER

○

−

(凡例)

○:指定できます。

−:特にありません。

(3) データソースの情報

カーソルの特性やトランザクションの機能など,データソースの情報を返却します。SQLGetInfoで指定できるデータソースの情報を次の表に示します。

表13‒22 SQLGetInfoで指定できるデータソースの情報

オプション値

指定可否

備考

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

○

−

(凡例)

○:指定できます。

−:特にありません。

(4) SQLステートメントの情報

データソースでサポートしているSQLステートメントについての情報を返却します。SQLGetInfoで指定できるSQLステートメントの情報を次の表に示します。

表13‒23 SQLGetInfoで指定できるSQLステートメントの情報

オプション値

指定可否

備考

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_SQL_CONFORMANCE

○

−

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_SUBQUERIES

○

−

SQL_UNION

○

−

(凡例)

○:指定できます。

×:指定できません。

−:特にありません。

(5) SQLステートメントの制限に関する情報

識別子の最大長や選択一覧の列の最大数など,SQLステートメントの識別子や句適用される制限に関する情報を返却します。SQLGetInfoで指定できるSQLステートメントの制限に関する情報を次の表に示します。

表13‒24 SQLGetInfoで指定できる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

○

−

(凡例)

○:指定できます。

−:特にありません。

(6) スカラ関数の情報

データソース,又はドライバがサポートしているスカラ関数の情報を返却します。SQLGetInfoで指定できるスカラ関数の情報を次の表に示します。

表13‒25 SQLGetInfoで指定できるスカラ関数の情報

オプション値

指定可否

備考

SQL_CONVERT_FUNCTIONS

○

−

SQL_NUMERIC_FUNCTIONS

○

−

SQL_STRING_FUNCTIONS

○

−

SQL_SYSTEM_FUNCTIONS

○

−

SQL_TIMEDATE_ADD_INTERVALS

○

−

SQL_TIMEDATE_DIFF_INTERVALS

○

−

SQL_TIMEDATE_FUNCTIONS

○

−

(凡例)

○:指定できます。

−:特にありません。

(7) 変換先のSQLデータ型の情報

データソースが指定されたSQLデータ型をCONVERTスカラ関数で変換する場合の変換先のSQLデータ型を返却します。SQLGetInfoで指定できる変換先のSQLデータ型の情報を次の表に示します。

表13‒26 SQLGetInfoで指定できる変換先の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_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

○

−

(凡例)

○:指定できます。

−:特にありません。

(8) ODBC3.0以降に追加された情報型

ODBC3.0以降に追加された情報型を次の表に示します。

表13‒27 ODBC3.0以降に追加されたSQLGetInfoで指定できる情報型

オプション値

指定可否

備考

SQL_ACTIVE_ENVIRONMENTS

○

−

SQL_AGGREGATE_FUNCTIONS

○

−

SQL_ALTER_DOMAIN

○

−

SQL_ALTER_SCHEMA

×

−

SQL_ANSI_SQL_DATETIME_LITERALS

○

−

SQL_ASYNC_MODE

○

−

SQL_BATCH_ROW_COUNT

○

−

SQL_BATCH_SUPPORT

○

−

SQL_CATALOG_NAME

○

−

SQL_COLLATION_SEQ

○

−

SQL_CONVERT_INTERVAL_YEAR_MONTH

○

−

SQL_CONVERT_INTERVAL_DAY_TIME

○

−

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_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_SQL92_DATETIME_FUNCTIONS

○

−

SQL_SQL92_FOREIGN_KEY_DELETE_RULE

○

−

SQL_SQL92_FOREIGN_KEY_UPDATE_RULE

○

−

SQL_SQL92_GRANT

○

−

SQL_SQL92_NUMERIC_VALUE_FUNCTIONS

○

−

SQL_SQL92_PREDICATES

○

−

SQL_SQL92_RELATIONAL_JOIN_OPERATORS

○

−

SQL_SQL92_REVOKE

○

−

SQL_SQL92_ROW_VALUE_CONSTRUCTOR

○

−

SQL_SQL92_STRING_FUNCTIONS

○

−

SQL_SQL92_VALUE_EXPRESSIONS

○

−

SQL_STANDARD_CLI_CONFORMANCE

○

−

SQL_XOPEN_CLI_YEAR

○

−

(凡例)

○:指定できます。

×:指定できません。

−:特にありません。