主コンテンツへ
Oracle® TimesTen In-Memory Database C開発者ガイド
リリース18.1
E98631-04
  目次へ移動
目次
索引へ移動
索引

前
 
次
 

10 TimesTen ODBCサポート

TimesTenには、次のように、ドライバ・マネージャを使用しないアプリケーション用にODBC 2.5もサポートするODBC 3.51ドライバが用意されています。

この章では、TimesTen ODBCサポートの詳細について説明します。TimesTen 18.1での変更点と、これにより以前のバージョンのTimesTenとともに使用しているODBCアプリケーションでコードの変更が必要となることについても説明します。

また、次の追加のリソースを参照することもできます。

また、TimesTenの拡張の#includeファイルについては、「TimesTen includeファイル」も参照してください。

TimesTen ODBC 3.5サポート

この項では、TimesTen ODBC 3.5サポートに関する次のトピックについて説明します。

TimesTenでのODBC 3.5の使用

ODBC 3.5仕様に従って、ODBC 3.5アプリケーションはSQLAllocHandleをコールした直後にSQLSetEnvAttrをコールしてSQL_ATTR_ODBC_VERSIONSQL_OV_ODBC3に設定します。次に例を示します。

RetCode = SQLAllocHandle(SQL_HANDLE_ENV, SQL_NULL_HANDLE, &hEnv);
...
RetCode = SQLSetEnvAttr(hEnv, SQL_ATTR_ODBC_VERSION, (SQLPOINTER)SQL_OV_ODBC3, 0);
...
RetCode = SQLAllocHandle(SQL_HANDLE_DBC, hEnv, &hDbc);
...
RetCode = SQLDriverConnect(hDbc, winHandle, connStr, SQL_NTS,
                           outConnStr, outConnStrBufferLen,
                           &outConnStrLen, SQL_DRIVER_NOPROMPT);
...

重要:

TimesTen 18.1はメジャー・リリースであるため、既存のODBCアプリケーションを再コンパイルして再リンクする必要があります。「以前のバージョンのTimesTenとのODBC APIの非互換性」も参照してください。

また、静的ではなく動的にアプリケーションをリンクすることをお薦めします。


ODBC 3.5でのクライアント/サーバーのリリース間の制限

以前のTimesTenリリースは、リリース間クライアント/サーバー接続をサポートしています。つまり、クライアントのバージョンがサーバーのバージョンよりも新しいこともあれば古いこともあります(たとえば、11.2.2クライアントが11.2.1サーバーに接続したり、11.2.1クライアントが11.2.2サーバーに接続します)。

ODBC 3.5機能の変更により、クライアントがSQLSetEnvAttrコールにSQL_ODBC_OV3を指定して、自身がODBC 3.x準拠であることを宣言した場合(前の項を参照)、リリース18.1以上のTimesTenクライアントは古いTimesTenサーバーに接続できません。


ノート:

この制限は、ODBC 2.5アプリケーションには影響しません。

ODBC 3.5の新規関数および後継関数のサポート

この項では、TimesTenでサポートされているODBC 3.5の新規関数および後継関数について説明します。


ノート:

TimesTen ODBCドライバは、表10-1および表10-8に示すように、ドライバ・マネージャを使用しないアプリケーション用にワイド・キャラクタ(W)関数バージョンをサポートしています。

表10-1 サポートされているODBC 3.5の新規関数および後継関数

関数 ノート

SQLAllocHandle

HandleTypeに適用可能な設定が使用され、ODBC 2.5関数SQLAllocEnvSQLAllocConnectおよびSQLAllocStmtを置き換えます。

SQLBulkOperations

コールは「Driver not capable」を返します。

SQLCloseCursor

ODBC 2.5関数SQLFreeStmtSQL_CLOSEオプションとともに使用される場合に、この関数を置き換えます。

SQLColAttributeおよびSQLColAttributeW

ODBC 2.5関数SQLColAttributesを置き換えます。

SQLCopyDesc

なし

SQLEndTran

ODBC 2.5関数SQLTransactを置き換えます。

SQLFetchScroll

TimesTenは、SQL_FETCH_NEXTオプション(前方スクロール)のみをサポートします。

SQLFreeHandle

HandleTypeに適用可能な設定が使用され、ODBC 2.5関数SQLFreeEnvSQLFreeConnectおよびSQLFreeStmtを置き換えます。

SQLGetConnectAttrおよびSQLGetConnectAttrW

ODBC 2.5関数SQLGetConnectOptionを置き換えます。

SQLGetDescFieldおよびSQLGetDescFieldW

なし

SQLGetDescRecおよびSQLGetDescRecW

なし

SQLGetDiagFieldおよびSQLGetDiagFieldW

ODBC 2.5関数SQLErrorを置き換えます。

ネイティブ・エラー・コードはTimesTenのエラーです。次のようなエラーが発生する場合があります。「Execution at Oracle failed.Oracle error code nnn.」

SQLGetDiagFieldまたはSQLGetDiagFieldWを使用した場合、次のようになります。

  • SQL_MAX_MESSAGE_LENGTH (これには512バイトの制限があります)のかわりにTT_MAX_MESSAGE_LENGTHを使用します。

  • SQL_SUCCESS_WITH_INFOが返す可能性がある値を処理します(たとえば、メッセージの長さが入力バッファ・サイズを超えた場合)。

SQLGetDiagRecおよびSQLGetDiagRecW

ODBC 2.5関数SQLErrorを置き換えます。

ネイティブ・エラー・コードはTimesTenのエラーです。次のようなエラーが発生する場合があります。「Execution at Oracle failed.Oracle error code nnn.」

SQLGetDiagRecまたはSQLGetDiagRecWを使用した場合、次のようになります。

  • SQL_MAX_MESSAGE_LENGTH (これには512バイトの制限があります)のかわりにTT_MAX_MESSAGE_LENGTHを使用します。

  • SQL_SUCCESS_WITH_INFOが返す可能性がある値を処理します(たとえば、メッセージの長さが入力バッファ・サイズを超えた場合)。

SQLGetEnvAttr

なし

SQLGetStmtAttrおよびSQLGetStmtAttrW

ODBC 2.5関数SQLGetStmtOptionを置き換えます。

SQLSetConnectAttrおよびSQLSetConnectAttrW

ODBC 2.5関数SQLSetConnectOptionを置き換えます。

SQLSetDescField

なし

SQLSetDescRec

なし

SQLSetEnvAttr

ODBCアプリケーションがSQL_ATTR_ODBC_VERSIONSQL_OV_ODBC3に設定するために必要です。

SQLSetStmtAttrおよびSQLSetStmtAttrW

ODBC 2.5関数SQLSetStmtOptionを置き換えます。


ODBC 3.5データ型サポートの注意事項

TimesTenは、ODBC 3.5で新たに導入された次のデータ型をサポートしています。

  • SQL_C_NUMERIC

  • SQL_C_TYPE_DATE

  • SQL_C_TYPE_TIME

  • SQL_C_TYPE_TIMESTAMP

TimesTenは、次のデータ型をサポートしていないか、サポートが限定的です。

  • SQL_GUID: TimesTenでは、このデータ型からCデータ型への変換をサポートしていません。

  • SQL_INTERVAL_xxxx: TimesTenは、間隔の型からCデータ型への変換をサポートしていません。

  • SQL_WCHAR: TimesTenは、このデータ型からC数値型への変換をサポートしていません。

ODBC 3.5の環境属性のサポート

表10-2に、TimesTenでサポートされているODBC 3.5の標準の環境属性を示します。

表10-2 標準の環境属性(ODBC 3.5)

属性 ノート

SQL_ATTR_ODBC_VERSION

サポートされている値はSQL_OV_ODBC3およびSQL_OV_ODBC2

SQL_ATTR_OUTPUT_NTS

サポートされている値はSQL_TRUE


ODBC 3.5 SQLSetConnectAttrおよびSQLGetConnectAttrの属性サポート

表10-3に、TimesTenでサポートされているODBC 3.5 SQLSetConnectAttr関数およびSQLGetConnectAttr関数の標準の属性を示します。これらの関数を使用すると、初期接続後の接続属性を設定したり、それらの設定を取得できます。

「ODBC 3.5 SQLSetStmtAttrおよびSQLGetStmtAttrの属性サポート」も参照してください。これらの属性は、SQLSetConnectAttrを使用して設定することもできます。この場合、値は接続のすべての文のデフォルトとして機能します。

TimesTen固有の属性については、「ODBC 2.5 SQLSetConnectOptionおよびSQLGetConnectOptionのオプションのサポート」を参照してください。これらの属性は、ODBC 2.5とODBC 3.5の両方でサポートされています。


ノート:


表10-3 標準の接続属性(ODBC 3.5)

属性 ノート

SQL_ATTR_ASYNC_ENABLE

サポートされている設定はSQL_ASYNC_ENABLE_OFF

SQL_ATTR_AUTO_IPD

読取り専用(取得)。値は常にSQL_TRUEです。

SQL_ATTR_CONNECTION_DEAD

読取り専用(取得)。

SQL_ATTR_CONNECTION_TIMEOUT

サポートされている設定は0。他の値に設定しても0に戻されます。

SQL_ATTR_ENLIST_IN_DTC

ドライバは機能しません。

SQL_ATTR_METADATA_ID

サポートされている設定はSQL_FALSE


ODBC 3.5 SQLSetStmtAttrおよびSQLGetStmtAttrの属性サポート

表10-4に、TimesTenでサポートされているODBC 3.5 SQLSetStmtAttr関数およびSQLGetStmtAttr関数の標準の属性を示します。これらの関数を使用すると、文属性の設定を設定または取得できます。

接続に関連付けられたすべての文に対して属性のデフォルト値を設定するには、SQLSetConnectAttrを使用します。


ノート:


表10-4 標準の文属性(ODBC 3.5)

属性 ノート

SQL_ATTR_APP_PARAM_DESC

なし

SQL_ATTR_APP_ROW_DESC

なし

SQL_ATTR_CURSOR_SCROLLABLE

サポートされている設定はSQL_NONSCROLLABLE

SQL_ATTR_CURSOR_SENSITIVITY

サポートされている設定はSQL_INSENSITIVE

SQL_ATTR_ENABLE_AUTO_IPD

なし

SQL_ATTR_IMP_PARAM_DESC

読取り専用(取得)。

SQL_ATTR_IMP_ROW_DESC

読取り専用(取得)。

SQL_ATTR_METADATA_ID

サポートされている設定はSQL_FALSE

SQL_ATTR_PARAM_BIND_OFFSET_PTR

なし

SQL_ATTR_PARAM_BIND_TYPE

なし

SQL_ATTR_PARAM_OPERATION_PTR

なし

SQL_ATTR_PARAM_STATUS_PTR

なし

SQL_ATTR_PARAMS_PROCESSED_PTR

なし

SQL_ATTR_PARAMSET_SIZE

なし

SQL_ATTR_ROW_ARRAY_SIZE

なし

SQL_ATTR_ROW_BIND_OFFSET_PTR

なし

SQL_ATTR_ROW_STATUS_PTR

なし

SQL_ATTR_ROWS_FETCHED_PTR

なし


ODBC 3.5 SQLColAttributeのTimesTenフィールド識別子

SQLColAttribute関数は、結果セット内の列の記述子情報を返します。

この関数および標準的な列記述子の詳細は、ODBC APIのリファレンス・マニュアルを参照してください。


ノート:

これにより、ODBC 2.5のSQLColAttributes (複数形)が置き換えられます。

表10-5に、TimesTen固有のフィールド識別子を示します。

表10-5 TimesTenフィールド識別子: SQLColAttribute (ODBC 3.5)

記述子 コメント/説明

TT_COLUMN_INLINE

インライン・データを備えた列の場合はTRUEを、そうでない場合はFALSEを返します。これは、SQLColAttribute CharacterAttributePtrパラメータで返されます。

TT_COLUMN_LENGTH_SEMANTICS

キャラクタ型列において、バイト長セマンティクスを備えた列の場合は"BYTE"を、キャラクタ長セマンティクスを備えた列の場合は"CHAR"を返します。キャラクタ以外の列の場合は、""を返します。この情報は、SQLColAttribute CharacterAttributePtrパラメータで返されます。

この情報は、データ長がバイト単位またはキャラクタ単位のいずれで測定されるかを示しています。TimesTenにおける長さセマンティクスは、Oracle Databaseの場合と同じです。詳細は、『Oracle Databaseグローバリゼーション・サポート・ガイド』の長さセマンティクスに関する説明を参照してください。


ODBC 3.5 SQLGetInfo用の情報型のサポート

この項では、ODBC関数SQLGetInfoの標準およびTimesTen固有の情報型がTimesTen ODBC 3.5の実装でどのようにサポートされているかを説明します。

表10-6に、ODBC 3.0で導入されたか、名前変更された標準の情報型がTimesTenでどのようにサポートされているかを示します。TimesTen固有の正しい戻り値に留意してください。

標準の情報については、次の場所を参照してください。

https://docs.microsoft.com/en-us/sql/odbc/reference/syntax/sqlgetinfo-function

「ODBC 2.5 SQLGetInfo用の情報型のサポート」も参照してください。これらの情報型は、TimesTen ODBC 3.5ドライバによって引き続きサポートされています(記載のとおり、名前が一部変更されています)。

表10-6 TimesTenでの標準の情報型のサポート: SQLGetInfo (ODBC 3.5)

情報型 ノートとTimesTenから返される正しい値

SQL_ACTIVE_ENVIRONMENTS

0: 環境オブジェクトはヒープから割り当てられます。

SQL_AGGREGATE_FUNCTIONS

SQL_AF_ALL、SQL_AF_AVG、SQL_AF_COUNT、SQL_AF_DISTINCT、SQL_AF_MAX、SQL_AF_MIN、SQL_AF_SUM

SQL_ALTER_DOMAIN

0: ALTER DOMAIN文はサポートされていません。

SQL_ALTER_TABLE

SQL_AT_ADD_COLUMN_DEFAULT: ADD COLUMN句がサポートされ、列のデフォルトを指定する機能が提供されます(FIPS遷移レベル)。

SQL_AT_ADD_COLUMN_SINGLE: ADD COLUMN句がサポートされています(FIPS遷移レベル)。

SQL_AT_ADD_CONSTRAINT: ADD COLUMN句がサポートされ、列制約を指定する機能が提供されます(FIPS遷移レベル)。

SQL_AT_ADD_TABLE_CONSTRAINT: ADD TABLE CONSTRAINT句がサポートされています(FIPS遷移レベル)。

SQL_AT_DROP_COLUMN_CASCADE: DROP COLUMN ... CASCADE句がサポートされています(FIPS遷移レベル)。

SQL_AT_DROP_COLUMN_DEFAULT: ALTER COLUMN SQL DROP COLUMN DEFAULT句がサポートされています(中間レベル)。

SQL_ASYNC_MODE

SQL_AM_NONE: 非同期モードはサポートされていません。

SQL_BATCH_ROW_COUNT

0: SQL文のバッチはサポートされていません。

SQL_BATCH_SUPPORT

0: SQL文のバッチはサポートされていません。

SQL_CATALOG_LOCATION

0: 修飾子としてのカタログ名はサポートされていません。

ODBC 2.5のSQL_QUALIFIER_LOCATION

SQL_CATALOG_NAME

N: 修飾子としてのカタログ名はサポートされていません。

SQL_CATALOG_NAME_SEPARATOR

NULL: サポートされていません。

ODBC 2.5のSQL_QUALIFIER_NAME_SEPARATOR

SQL_CATALOG_TERM

データ・ストア

ODBC 2.5のSQL_QUALIFIER_TERM

SQL_CATALOG_USAGE

0: カタログはサポートされていません。

ODBC 2.5のSQL_QUALIFIER_USAGE

SQL_COLLATION_SEQ

NLS_SORTデータベース・パラメータの現在の値。

ノート: TimesTenにはデフォルトの文字セットがないため、デフォルトの文字セットのデフォルトの照合は適用できません。NLS_SORTは、現行の文字セットの照合です。

SQL_CONVERT_GUID

0: CONVERT関数はサポートされていません。

SQL_CONVERT_INTERVAL_DAY_TIME

0: CONVERT関数はサポートされていません。

SQL_CONVERT_INTERVAL_YEAR_MONTH

0: CONVERT関数はサポートされていません。

SQL_CONVERT_WCHAR

0: CONVERT関数はサポートされていません。

SQL_CONVERT_WLONGVARCHAR

0: CONVERT関数はサポートされていません。

SQL_CONVERT_WVARCHAR

0: CONVERT関数はサポートされていません。

SQL_CREATE_ASSERTION

0: CREATE ASSERTION文はサポートされていません。

SQL_CREATE_CHARACTER_SET

0: CREATE CHARACTER SET文はサポートされていません。

SQL_CREATE_COLLATION

0: CREATE COLLATION文はサポートされていません。

SQL_CREATE_DOMAIN

0: CREATE DOMAIN文はサポートされていません。

SQL_CREATE_SCHEMA

0: CREATE SCHEMA文はサポートされていません。

SQL_CREATE_TABLE

サポートされている句を判断するために、次のようになっています。

SQL_CT_CREATE_TABLE: CREATE TABLE文がサポートされています(エントリ・レベル)。

SQL_CT_TABLE_CONSTRAINT: 表制約の指定がサポートされています(FIPS遷移レベル)。

SQL_CT_CONSTRAINT_NAME_DEFINITION: <constraint name definition>句が列および表制約の名前指定のためにサポートされています(中間レベル)。

一時表を作成できることを指定するために、次のようになっています。

SQL_CT_COMMIT_PRESERVE: 削除された行がコミット時に保持されます(フル・レベル)。

SQL_CT_COMMIT_DELETE: 削除された行がコミット時に削除されます(フル・レベル)。

SQL_CT_GLOBAL_TEMPORARY: グローバル一時表を作成できます(フル・レベル)。

列制約を作成できることを指定するために、次のようになっています。

SQL_CT_COLUMN_CONSTRAINT: 列制約の指定がサポートされています(FIPS遷移レベル)。

SQL_CT_COLUMN_DEFAULT: 列のデフォルトの指定がサポートされています(FIPS遷移レベル)。

SQL_CREATE_TRANSLATION

0: CREATE TRANSLATION文はサポートされていません。

SQL_CREATE_VIEW

SQL_CV_CREATE_VIEWS

SQL_CURSOR_SENSITIVITY

SQL_SENSITIVE: カーソルは、同じトランザクション内の他のカーソルによる変更に依存します。

SQL_DATETIME_LITERALS

SQL_DL_SQL92_DATE、SQL_DL_SQL92_TIME、SQL_DL_SQL92_TIMESTAMP

SQL_DDL_INDEX

SQL_DI_CREATE_INDEX、SQL_DI_DROP_INDEX

SQL_DESCRIBE_PARAMETER

"Y": パラメータを記述できます。

SQL_DM_VER

ERROR IM001: ドライバはこの関数をサポートしていません。ドライバ・マネージャにのみ適用されます。

SQL_DRIVER_HDESC

ドライバ記述子ハンドルへのポインタ。

SQL_DROP_ASSERTION

0: DROP ASSERTION文はサポートされていません。

SQL_DROP_CHARACTER_SET

0: DROP_CHARACTER_SET文はサポートされていません。

SQL_DROP_COLLATION

0: DROP_COLLATION文はサポートされていません。

SQL_DROP_DOMAIN

0: DROP_DOMAIN文はサポートされていません。

SQL_DROP_SCHEMA

0: DROP_SCHEMA文はサポートされていません。

SQL_DROP_TABLE

SQL_DT_DROP_TABLE

SQL_DROP_TRANSLATION

0: DROP_TRANSLATION文はサポートされていません。

SQL_DROP_VIEW

SQL_DV_DROP_VIEW

SQL_DYNAMIC_CURSOR_ATTRIBUTES1

なし: 動的カーソルはサポートされていません。

SQL_DYNAMIC_CURSOR_ATTRIBUTES2

なし: 動的カーソルはサポートされていません。

SQL_FORWARD_ONLY_CURSOR_ATTRIBUTES1

SQL_CA1_NEXT、SQL_CA1_SELECT_FOR_UPDATE

SQL_FORWARD_ONLY_CURSOR_ATTRIBUTES2

SQL_CA2_READ_ONLY_CONCURRENCY、SQL_CA2_MAX_ROWS_SELECT

SQL_INDEX_KEYWORDS

SQL_IK_ALL: すべてのキーワードがサポートされています。

SQL_INFO_SCHEMA_VIEWS

なし: INFORMATION_SCHEMA内のビューはサポートされていません。

SQL_INSERT_STATEMENT

SQL_IS_INSERT_LITERALS、SQL_IS_INSERT_SEARCHED、SQL_IS_SELECT_INTO

SQL_INTEGRITY

N

ODBC 2.5のSQL_ODBC_SQL_OPT_IEF

SQL_KEYSET_CURSOR_ATTRIBUTES1

なし: キーセット・カーソルはサポートされていません。

SQL_KEYSET_CURSOR_ATTRIBUTES2

なし: キーセット・カーソルはサポートされていません。

SQL_KEYWORDS

TT_SQL_KEYWORDS: TimesTen固有のSQLキーワードのカンマ区切りリストを含む文字列。

「ODBC 3.5のTimesTen SQLキーワード」を参照してください。

SQL_MAX_ASYNC_CONCURRENT_STATEMENTS

0: 非同期モードでは同時にアクティブな文の数に制限はありません。

SQL_MAX_CATALOG_NAME_LEN

別名SQL_MAXIMUM_CATALOG_NAME_LENGTH

0: 特定の最大長はありません。

ODBC 2.5のSQL_MAX_QUALIFIER_NAME_LEN

SQL_MAX_CONCURRENT_ACTIVITIES

別名SQL_MAXIMUM_CONCURRENT_ACTIVITIES

0: ヒープから割り当てられ、同時実行性に対する制限はありません。

ODBC 2.5のSQL_ACTIVE_STATEMENTS

SQL_MAX_DRIVER_CONNECTIONS

別名SQL_MAXIMUM_DRIVER_CONNECTIONS

sb_DbConnMaxUser: デーモン接続はこの値に制限されます。

ODBC 2.5のSQL_ACTIVE_CONNECTIONS

SQL_MAX_IDENTIFIER_LEN

別名SQL_MAXIMUM_IDENTIFIER_LENGTH

sb_ObjNameLenMax

SQL_MAX_ROW_SIZE_INCLUDES_LONG

N

SQL_MAX_SCHEMA_NAME_LEN

別名SQL_MAXIMUM_SCHEMA_NAME_LENGTH

sb_ObjNameLenMax

ODBC 2.5のSQL_MAX_OWNER_NAME_LEN

SQL_ODBC_INTERFACE_CONFORMANCE

SQL_OIC_CORE: 最小レベル。接続関数、SQL文を準備して実行するための関数、基本的な結果セット・メタデータ関数、基本的なカタログ関数など基本的なインタフェース要素が含まれています。

SQL_PARAM_ARRAY_ROW_COUNTS

SQL_PARC_NO_BATCH

SQL_PARAM_ARRAY_SELECTS

SQL_PAS_NO_SELECT

SQL_SCHEMA_TERM

所有者

ODBC 2.5のSQL_OWNER_TERM

SQL_SCHEMA_USAGE

SQL_OU_DML_STATEMENTS: すべてのDML文でスキーマがサポートされています。

SQL_OU_PROCEDURE_INVOCATION: スキーマは、ODBCプロシージャの起動文でサポートされています。

SQL_OU_TABLE_DEFINITION: CREATE TABLECREATE VIEWALTER TABLEDROP TABLEおよびDROP VIEWの各文でスキーマがサポートされています。

SQL_OU_INDEX_DEFINITION: CREATE INDEX文およびDROP INDEX文でスキーマがサポートされています。

SQL_OU_PRIVILEGE_DEFINITION: GRANT文およびREVOKE文でスキーマがサポートされています。

ODBC 2.5のSQL_OWNER_USAGE

SQL_SQL_CONFORMANCE

SQL_SC_SQL92_ENTRY: エントリ・レベルSQL-92準拠。

SQL_SQL92_DATETIME_FUNCTIONS

なし: Datetimeスカラー関数はサポートされていません。

SQL_SQL92_FOREIGN_KEY_DELETE_RULE

SQL_SFKD_CASCADE

SQL_SQL92_FOREIGN_KEY_UPDATE_RULE

SQL_SFKU_SET_DEFAULT、SQL_SFKU_SET_NULL

SQL_SQL92_GRANT

SQL_SG_DELETE_TABLE、SQL_SG_INSERT_TABLE、SQL_SG_REFERENCES_TABLE、SQL_SG_SELECT_TABLE、SQL_SG_UPDATE_TABLE (すべてエントリ・レベル)

SQL_SQL92_NUMERIC_VALUE_FUNCTIONS

SQL_SNVF_EXTRACT

SQL_SQL92_PREDICATES

SQL_SP_BETWEEN、SQL_SP_COMPARISON、SQL_SP_EXISTS、SQL_SP_IN、SQL_SP_ISNOTNULL、SQL_SP_ISNULL、SQL_SP_LIKE (すべてエントリ・レベル)

SQL_SQL92_RELATIONAL_JOIN_OPERATORS

SQL_SRJO_CROSS_JOIN (フル・レベル)、SQL_SRJO_INNER_JOIN (FIPS遷移レベル)、SQL_SRJO_LEFT_OUTER_JOIN (FIPS遷移レベル)、SQL_SRJO_RIGHT_OUTER_JOIN (FIPS遷移レベル)

SQL_SQL92_REVOKE

SQL_SR_DELETE_TABLE、SQL_SR_INSERT_TABLE、SQL_SR_REFERENCES_TABLE、SQL_SR_SELECT_TABLE、SQL_SR_UPDATE_TABLE (すべてエントリ・レベル)

SQL_SQL92_ROW_VALUE_CONSTRUCTOR

なし: 行値のコンストラクタ式はサポートされていません。

SQL_SQL92_STRING_FUNCTIONS

なし: 文字列スカラー関数はサポートされていません。

SQL_SQL92_VALUE_EXPRESSIONS

SQL_SVE_CASE (中間レベル)、SQL_SVE_CAST (FIPS遷移レベル)、SQL_SVE_NULLIF (中間レベル)

SQL_STANDARD_CLI_CONFORMANCE

なし: ドライバはCLI標準に準拠していません。

SQL_STATIC_CURSOR_ATTRIBUTES1

SQL_CA1_NEXT、SQL_CA1_SELECT_FOR_UPDATE

SQL_STATIC_CURSOR_ATTRIBUTES2

SQL_CA2_READ_ONLY_CONCURRENCY、SQL_CA2_MAX_ROWS_SELECT

SQL_TIMEDATE_FUNCTIONS

SQL_FN_TD_EXTRACT、SQL_FN_TD_NOW、SQL_FN_TD_TIMESTAMPADD、SQL_FN_TD_TIMESTAMPDIFF

SQL_UNION_STATEMENT

SQL_U_UNION: データソースはUNION句をサポートしています。

SQL_U_UNION_ALL: データソースは、UNION句のALLキーワードをサポートしています。(この場合、SQLGetInfoSQL_U_UNIONSQL_U_UNION_ALLの両方を返します。)

ODBC 2.5のSQL_UNION

SQL_XOPEN_CLI_YEAR

ERROR IM001: ドライバはこの関数をサポートしていません。ドライバ・マネージャにのみ適用されます。


表10-7に、TimesTen固有の情報型を示します。

表10-7 TimesTen情報型: SQLGetInfo

情報型 データ型 説明

TT_DATA_STORE_INVALID

SQLINTEGER

システム障害やアプリケーション障害などが原因でデータベースが無効な状態にある場合は1を返します。そうでない場合は、0を返します。

ノート: エラー846やエラー994などの致命的なエラーは、TimesTenデータベースを無効にし、この項目を1に設定します。

TT_DATABASE_CHARACTER_SET

SQLCHAR

データベースの文字セットの名前を返します。

TT_DATABASE_CHARACTER_SET_SIZE

SQLINTEGER

データベースの文字セットのキャラクタの最大サイズをバイト単位で返します。

TT_PLATFORM_INFO

ビット・マスク

プラットフォーム情報を示すビット・マスクを返します。64ビット・プラットフォームでは、ビット0の値は1です。ビット1は、ビッグエンディアンの場合は値1を、リトルエンディアンの場合は値0を持ちます。

TT_REPLICATION_INVALID

SQLINTEGER

レプリケーションが失敗した状態の場合は1を、そうでない場合は0を返します。

詳細は、『Oracle TimesTen In-Memory Database開発者および管理者ガイド』のサブスクライバ機能に関する説明を参照してください。


ODBC 3.5のTimesTen SQLキーワード

SQLGetInfoコールでSQL_KEYWORDSに返されるTimesTen SQLキーワードのリストは、TimesTen ODBC 3.5サポートでもODBC 2.5サポートの場合と同じです。「ODBC 2.5のTimesTen SQLキーワード」を参照してください。

TimesTen予約語のリストとは異なります。そのリストについては、『Oracle TimesTen In-Memory Database SQLリファレンス』の予約語に関する項を参照してください。

TimesTen ODBC 2.5サポート

この項では、TimesTen 2.5サポートに関する次のトピックについて説明します。

TimesTenでのODBC 2.5の使用

ドライバ・マネージャを使用しないODBC 2.5アプリケーションは、引き続きSQLAllocEnvへのコールを介してTimesTen 18.1 ODBCドライバと連動します。


重要:

TimesTen 18.1はメジャー・リリースであるため、既存のODBCアプリケーションを再コンパイルして再リンクする必要があります。「以前のバージョンのTimesTenとのODBC APIの非互換性」も参照してください。

また、静的ではなく動的にアプリケーションをリンクすることをお薦めします。


ODBC 2.5関数のサポート

この項では、TimesTenでサポートされているODBC 2.5関数をリストします。


ノート:

  • TimesTen ODBCドライバは、表10-8に示すように、ドライバ・マネージャを使用しないアプリケーション用にワイド・キャラクタ(W)関数バージョンをサポートしています。

  • ODBC 2.5では、TimesTenはODBC 2.0ハンドル・タイプ(HDBCHENVなど)に加え、一部のODBC 3.0ハンドル・タイプ(SQLHDBCSQLHENVなど)をサポートしています。TimesTenでは、ODBC 3.0ハンドル・タイプの使用をお薦めします。ODBC 2.0のドキュメントに記載されているFAR修飾子は必要ないことにも注意してください。


表10-8 サポートされているODBC 2.5関数

関数 ノート

SQLAllocConnect

なし

SQLAllocEnv

なし

SQLAllocStmt

なし

SQLBindCol

なし

SQLBindParameter

「SQLBindParameter関数」を参照してください。

SQLCancel

SQLCancelでは、次の操作を取り消すことができます。

  • 別のスレッド上のhstmtで実行中の操作

  • データを必要とするhstmtで実行中の操作

SQLCancelは、次の操作を取り消すことができません

  • TimesTen Cacheでの管理操作

シグナル・ハンドラからSQLCancelを直接コールしないでください。コードを移植できない可能性があります。

SQLColAttributesSQLColAttributesW

「ODBC 2.5 SQLColAttributes用の列記述子のサポート」を参照してください。

また、「変更されたODBC 2.5関数シグネチャ」も参照してください。

SQLColumnPrivileges

コールは「driver not capable」を返します。

SQLColumnsSQLColumnsW

カタログ関数の場合、TimesTenは修飾子として空の文字列またはNULLのみをサポートします。

SQLConnectおよびttSQLConnectW

W関数のTimesTen名に注意してください。

SQLDataSourcesSQLDataSourcesW

ドライバ・マネージャを使用しているプログラムでのみ使用できます。

SQLDescribeColSQLDescribeColW

なし

SQLDescribeParam

なし

SQLDisconnect

なし

SQLDriverConnectSQLDriverConnectW

なし

SQLDriversSQLDriversW

ドライバ・マネージャを使用しているプログラムでのみ使用できます。

SQLErrorSQLErrorW

ネイティブ・エラー・コードはTimesTenのエラーです。次のようなエラーが発生する場合があります。「Execution at Oracle failed.Oracle error code nnn.」

SQLErrorまたはSQLErrorWを使用した場合、次のようになります。

  • SQL_MAX_MESSAGE_LENGTH (これには512バイトの制限があります)のかわりにTT_MAX_MESSAGE_LENGTH (上限値が大きくなっています)を使用します。

  • SQL_SUCCESS_WITH_INFOが返す可能性がある値を処理します(たとえば、メッセージの長さが入力バッファ・サイズを超えた場合)。

SQLExecDirect

「SQLExecute」を参照してください。

SQLExecute

TimesTenでは、非同期式の文の実行はサポートしていません。(この章で後述するように、TimesTenではSQL_ASYNC_ENABLE文オプションをサポートしていません。)

SQLFetch

これ以上返す行がない場合、リターン・コードはSQL_NO_DATA_FOUNDと定義されます。

SQL_NO_DATA_FOUNDは、sqlext.h (timesten.hに含まれています)に定義されています。

SQLForeignKeysSQLForeignKeysW

カタログ関数の場合、TimesTenは修飾子として空の文字列またはNULLのみをサポートします。

SQLFreeConnect

なし

SQLFreeEnv

なし

SQLFreeStmt

なし

SQLGetConnectOptionSQLGetConnectOptionW

「ODBC 2.5 SQLSetConnectOptionおよびSQLGetConnectOptionのオプションのサポート」を参照してください。

また、「変更されたODBC 2.5関数シグネチャ」も参照してください。

SQLGetCursorNameSQLGetCursorNameW

カーソル名の設定または取得はできますが、参照はできません(位置を指定した更新または削除を行うWHERE CURRENT OF句内など)。TimesTenでは、位置を指定した更新または削除文はサポートしていません。

SQLGetData

「Avoid SQLGetData」を参照してください。

SQLGetFunctions

なし

SQLGetInfoSQLGetInfoW

「ODBC 2.5 SQLGetInfo用の情報型のサポート」を参照してください。

また、「変更されたODBC 2.5関数シグネチャ」も参照してください。

SQLGetStmtOption

「ODBC 2.5 SQLSetStmtOptionおよびSQLGetStmtOptionのオプションのサポート」を参照してください。

また、「変更されたODBC 2.5関数シグネチャ」も参照してください。

SQLGetTypeInfoSQLGetTypeInfoW

カタログ関数の場合、TimesTenは修飾子として空の文字列またはNULLのみをサポートします。

SQLNativeSqlSQLNativeSqlW

なし

SQLNumParams

なし

SQLNumResultCols

なし

SQLParamData

なし

SQLParamOptions

「変更されたODBC 2.5関数シグネチャ」を参照してください。

SQLPrepareおよびSQLPrepareW

なし

SQLPrimaryKeysSQLPrimaryKeysW

カタログ関数の場合、TimesTenは修飾子として空の文字列またはNULLのみをサポートします。

SQLProcedureColumnsSQLProcedureColumnsW

カタログ関数の場合、TimesTenは修飾子として空の文字列またはNULLのみをサポートします。

SQLProceduresSQLProceduresW

カタログ関数の場合、TimesTenは修飾子として空の文字列またはNULLのみをサポートします。

SQLPutData

なし

SQLRowCount

標準の機能に加えて、これはTimesTenキャッシュ・グループでも使用されます。「キャッシュ・グループの管理」を参照してください。

SQLSetConnectOptionSQLSetConnectOptionW

次の項にある「ODBC 2.5 SQLSetConnectOptionおよびSQLGetConnectOptionのオプションのサポート」を参照してください。

また、「変更されたODBC 2.5関数シグネチャ」も参照してください。

SQLSetCursorNameSQLSetCursorNameW

カーソル名の設定または取得はできますが、参照はできません(位置を指定した更新または削除を行うWHERE CURRENT OF句内など)。

SQLSetParam

これは、ODBC 2.0ではSQLBindParameterに置き換えられたODBC 1.0関数です。下位互換性の目的で保持されています。

SQLSetPos

コールは「driver not capable」を返します。

SQLSetStmtOption

「ODBC 2.5 SQLSetStmtOptionおよびSQLGetStmtOptionのオプションのサポート」を参照してください。

また、「変更されたODBC 2.5関数シグネチャ」も参照してください。

SQLSpecialColumnsSQLSpecialColumnsW

TimesTenでは、SQL_BEST_ROWIDオプションのみをサポートしています。

カタログ関数の場合、TimesTenは修飾子として空の文字列またはNULLのみをサポートします。

SQLStatisticsSQLStatisticsW

カタログ関数の場合、TimesTenは修飾子として空の文字列またはNULLのみをサポートします。

SQLTablePrivileges

コールは「driver not capable」を返します。

SQLTablesSQLTablesW

カタログ関数の場合、TimesTenは修飾子として空の文字列またはNULLのみをサポートします。

SQLTransact

なし


ODBC 2.5 SQLSetConnectOptionおよびSQLGetConnectOptionのオプションのサポート

表10-9に、TimesTenでサポートされているODBC 2.5 SQLSetConnectOption関数およびSQLGetConnectOption関数の標準のオプションを、サポートに関するノートとともに示します。表10-10に、TimesTen固有のオプションを示します。これらの関数を使用すると、初期接続後の接続オプションを設定したり、それらの設定を取得できます。オプションの中には、表に示すように、接続プロセス中に設定できる接続属性と対応するものもあります。

「ODBC 2.5 SQLSetStmtOptionおよびSQLGetStmtOptionのオプションのサポート」も参照してください。これらのオプションは、SQLSetConnectOptionを使用して設定することもできますが、その場合、設定した値は接続時のすべての文に対するデフォルトになります。


ノート:

  • SQLSetConnectOptionまたはSQLSetStmtOptionを使用したオプション設定は、対応する接続属性の設定よりも優先されます(該当する場合)。

  • ここに記載されている説明は、SQLSetConnectOptionWおよびSQLGetConnectOptionWにも適用されます。

  • TimesTen接続属性は、ODBC接続オプションと同じものであると記載されています。詳細は、『Oracle TimesTen In-Memory Databaseリファレンス』の接続属性に関する項を参照してください。


表10-9 標準の接続オプション(ODBC 2.5)

オプション ノート

SQL_AUTOCOMMIT

なし

SQL_MAX_ROWS

「変更されたODBC 2.5関数シグネチャ」を参照してください(SQLGetStmtOptionまたはSQLSetStmtOptionを参照)。

SQL_NOSCAN

なし

SQL_ODBC_CURSORS

ドライバ・マネージャを使用しているプログラムでサポートされています

SQL_OPT_TRACE

ドライバ・マネージャを使用しているプログラムでサポートされています

SQL_OPT_TRACEFILE

ドライバ・マネージャを使用しているプログラムでサポートされています

SQL_TXN_ISOLATION

vParamSQL_TXN_READ_COMMITTEDまたはSQL_TXN_SERIALIZABLEの場合にサポートされています

プリフェッチと分離レベルの関係の詳細は、複数のデータ行のプリフェッチを参照してください。また、Oracle TimesTen In-Memory Databaseオペレーション・ガイドの分離およびロックによる並行性制御に関する説明およびOracle TimesTen In-Memory Databaseリファレンスの分離に関する説明も参照してください。


表10-10 TimesTen接続オプション(ODBC 2.5)

オプション ノート

TT_CLIENT_TIMEOUT

これはクライアント/サーバー専用で、TTC_Timeout TimesTenクライアント接続属性と同じ機能を備えています。

また、タイムアウト値間の関係については、『Oracle TimesTen In-Memory Databaseオペレーション・ガイド』のSQLとPL/SQLのタイムアウト値の選択に関する項も参照してください。

TT_DYNAMIC_LOAD_ENABLE

『Oracle TimesTen Application-Tier Database Cacheユーザーズ・ガイド』の動的ロードの構成に関する説明を参照してください。これには、DynamicLoadEnable TimesTen Cache一般接続属性と同じ機能があります。

TT_DYNAMIC_LOAD_ERROR_MODE

Oracle TimesTen Application-Tier Database Cacheユーザーズ・ガイドの動的ロード・エラーを返すを参照してください。これには、DynamicLoadErrorMode TimesTen Cache接続属性と同じ機能があります。

TT_GRID_ENABLED_DATABASE

読取り専用(取得)。これは、データベースがTimesTen Scaleoutに対して有効なTimesTenインスタンスからのものかどうかを示します。

TT_NLS_LENGTH_SEMANTICS

「グローバリゼーション・オプションの設定」を参照してください。これには、NLS_LENGTH_SEMANTICS一般接続属性と同じ機能があります。「その他のグローバリゼーション機能」に、この機能に関する関連情報があります。

TT_NLS_NCHAR_CONV_EXCP

「グローバリゼーション・オプションの設定」を参照してください。これには、NLS_NCHAR_CONV_EXCP一般接続属性と同じ機能があります。「その他のグローバリゼーション機能」に、この機能に関する関連情報があります。

TT_NLS_SORT

「グローバリゼーション・オプションの設定」を参照してください。これには、NLS_SORT一般接続属性と同じ機能があります。「その他のグローバリゼーション機能」に、この機能に関する関連情報があります。

TT_NO_RECONNECT_ON_FAILOVER

読取り専用(取得)。「自動クライアント・フェイルオーバーの構成」を参照してください。これは、TimesTen接続属性TTC_NoReconnectOnFailoverの設定を示します(クライアント接続専用)。

TT_PREFETCH_CLOSE

問合せのパフォーマンスを最適化するには、TT_PREFETCH_CLOSE_ONに設定します。デフォルト設定はTT_PREFETCH_CLOSE_OFFです。詳細は、「問合せのパフォーマンスの最適化」を参照してください。

TT_REGISTER_FAILOVER_CALLBACK

「アプリケーションでの自動クライアント・フェイルオーバーの使用」を参照してください。この属性はクライアント専用です。TimesTen直接モードで使用しようとすると、SQL_SUCCESSが返されますが、アクションは実行されません。

TT_REPLICATION_TRACK

「レプリケーションで使用する機能」を参照してください。パラレル・レプリケーションを使用し、レプリケーション・トラックを指定するODBCアプリケーションの場合、これは接続のトラック番号を指定するReplicationTrack一般接続属性と同じ機能があります。

TT_ROLLBACK_REQUIRED_ON_FAILOVER

読取り専用(取得)。「自動クライアント・フェイルオーバーの構成」を参照してください。これは、TimesTen接続属性TTC_RollbackRequiredOnFailoverの設定を示します(クライアント接続専用)。

TT_XACT_REQUIRES_FAILOVER_ROLLBACK

読取り専用(取得)。TTC_RollbackRequiredOnFailoverが有効な場合、次の両方がtrueであれば0以外の値を返し、それ以外であれば0を返します。

  • 接続でフェイルオーバー再接続が発生しました。

  • アプリケーションがロールバック・コールによってまだ確認されていないので、オープン・トランザクションが失われた可能性があります。

これは、クライアント接続にのみ関係します。


ODBC 2.5 SQLSetStmtOptionおよびSQLGetStmtOptionのオプションのサポート

表10-11に、TimesTenでサポートされているODBC 2.5 SQLSetStmtOption関数およびSQLGetStmtOption関数の標準のオプションを、サポートに関するノートとともに示します。表10-12に、TimesTen固有のオプションを示します。これらの関数を使用すると、文オプションの設定を設定または取得できます。

接続に関連付けられているすべての文のオプションのデフォルト値を設定するには、SQLSetConnectOptionを使用します。


ノート:

SQLSetConnectOptionまたはSQLSetStmtOptionを使用したオプション設定は、対応する接続属性の設定よりも優先されます(該当する場合)。

表10-11 標準の文オプション(ODBC 2.5)

オプション ノート

SQL_MAX_ROWS

「変更されたODBC 2.5関数シグネチャ」を参照してください。

SQL_NOSCAN

なし

SQL_QUERY_TIMEOUT

「SQL文のタイムアウト期間の設定」を参照してください。



ノート:

SQL_MAX_LENGTHオプションは設定できますが、指定した値はすべて0で上書きされます(すべての使用可能なデータが返されます)。

表10-12 TimesTen文のオプション(ODBC 2.5)

オプション ノート

TT_PREFETCH_COUNT

「複数のデータ行のプリフェッチ」を参照してください。

TT_QUERY_THRESHOLD

「SQL文のしきい値期間の設定」を参照してください。これは、SQL文の時間のしきい値(秒単位)を指定するためのオプションで、経過後にTimesTenによってサポート・ログに警告が書き込まれます。

TT_PRIVATE_COMMANDS

コマンドはその他の接続と共有されません。『Oracle TimesTen In-Memory Databaseリファレンス』のPrivateCommandsに関する項を参照してください。

TT_STMT_PASSTHROUGH_TYPE

特定の準備済の文がTimesTen Cacheのパススルー機能によってOracle Databaseにパススルーされるかどうかを決定します。SQLGetStmtOptionによって返される値は、TT_STMT_PASSTHROUGH_NONEまたはTT_STMT_PASSTHROUGH_ORACLEのいずれかです。

ノート: TimesTenでは、このオプションはSQLGetStmtOptionでのみサポートされています。

「パススルー・ステータスの確認」を参照してください。『Oracle TimesTen Application-Tier Database Cacheユーザーズ・ガイド』のパススルー・レベルの設定に関する説明も参照してください。


ODBC 2.5 SQLColAttributes用の列記述子のサポート

SQLColAttributes関数は、結果セット内の列の記述子情報を返します。

この関数および標準的な列記述子の詳細は、ODBC APIのリファレンス・マニュアルを参照してください。

表10-13に、TimesTen固有の列記述子を示します。

表10-13 TimesTen列記述子: SQLColAttributes

記述子 コメント/説明

TT_COLUMN_INLINE

インライン・データを備えた列の場合はTRUEを、そうでない場合はFALSEを返します。これは、SQLColAttributes pfDescパラメータで返されます。

TT_COLUMN_LENGTH_SEMANTICS

キャラクタ型列において、バイト長セマンティクスを備えた列の場合は"BYTE"を、キャラクタ長セマンティクスを備えた列の場合は"CHAR"を返します。キャラクタ以外の列の場合は、""を返します。この情報は、SQLColAttributes rgbDescパラメータで返されます。

この情報は、データ長がバイト単位またはキャラクタ単位のいずれで測定されるかを示しています。TimesTenにおける長さセマンティクスは、Oracle Databaseの場合と同じです。詳細は、『Oracle Databaseグローバリゼーション・サポート・ガイド』の長さセマンティクスに関する説明を参照してください。


ODBC 2.5 SQLGetInfo用の情報型のサポート

この項では、ODBC関数SQLGetInfoの情報型がTimesTen ODBC 2.5の実装でどのようにサポートされているかを説明します。

表10-14に、ODBC 1.0および2.0で導入された標準の情報型と、TimesTen ODBC 2.5実装でサポートされているODBC 3.0情報型(表のとおり)がTimesTenでどのようにサポートされているかを示します。TimesTen固有の正しい戻り値に留意してください。

ODBC 3.5とODBC 2.5の両方でサポートされているTimesTen固有の情報型については、「ODBC 3.5 SQLGetInfo用の情報型のサポート」を参照してください。

表10-14 TimesTenでの標準の情報型のサポート: SQLGetInfo (ODBC 2.5)

情報型 ノートとTimesTenから返される正しい値

SQL_ACCESSIBLE_PROCEDURES

Y

SQL_ACCESSIBLE_TABLES

Y

SQL_ACTIVE_CONNECTIONS

sb_DbConnMaxUser: デーモン接続はこの値に制限されます。

SQL_ACTIVE_STATEMENTS

0: ヒープから割り当てられ、同時実行性に対する制限はありません。

SQL_AGGREGATE_FUNCTIONS

TimesTen ODBC 2.5実装でサポートされているODBC 3.0情報型。「ODBC 3.5 SQLGetInfo用の情報型のサポート」を参照してください。

SQL_ALTER_TABLE

SQL_AT_ADD_COLUMN、SQL_AT_DROP_COLUMN

SQL_BOOKMARK_PERSISTENCE

0: ブックマークは、いずれの操作でも持続しません。

SQL_COLUMN_ALIAS

Y

SQL_CONCAT_NULL_BEHAVIOR

SQL_CB_NON_NULL: 結果は、null以外の値が設定された列を連結したものになります。

SQL_CONVERT_FUNCTIONS

SQL_FN_CVT_CAST

SQL_CONVERT_xxxx

0: CONVERT関数はサポートされていません。

SQL_CONVERT_WCHAR

TimesTen ODBC 2.5実装でサポートされているODBC 3.0情報型。「ODBC 3.5 SQLGetInfo用の情報型のサポート」を参照してください。

SQL_CONVERT_WLONGVARCHAR

TimesTen ODBC 2.5実装でサポートされているODBC 3.0情報型。「ODBC 3.5 SQLGetInfo用の情報型のサポート」を参照してください。

SQL_CONVERT_WVARCHAR

TimesTen ODBC 2.5実装でサポートされているODBC 3.0情報型。「ODBC 3.5 SQLGetInfo用の情報型のサポート」を参照してください。

SQL_CORRELATION_NAME

SQL_CN_ANY: 相関名がサポートされ、ユーザー定義の任意の有効な名前にすることができます。

SQL_CREATE_VIEW

TimesTen ODBC 2.5実装でサポートされているODBC 3.0情報型。「ODBC 3.5 SQLGetInfo用の情報型のサポート」を参照してください。

SQL_CURSOR_COMMIT_BEHAVIOR

SQL_CB_CLOSE: カーソルをクローズします。プリコンパイルされた文の場合、アプリケーションはSQLPrepareを再度コールせずに、その文に対してSQLExecuteをコールできます。

SQL_CURSOR_ROLLBACK_BEHAVIOR

SQL_CB_CLOSE: カーソルをクローズします。プリコンパイルされた文の場合、アプリケーションはSQLPrepareを再度コールせずに、その文に対してSQLExecuteをコールできます。

SQL_DATA_SOURCE_NAME

"": 空の文字列。

SQL_DATA_SOURCE_READ_ONLY

N

SQL_DATETIME_LITERALS

TimesTen ODBC 2.5実装でサポートされているODBC 3.0情報型。「ODBC 3.5 SQLGetInfo用の情報型のサポート」を参照してください。

SQL_DEFAULT_TXN_ISOLATION

SQL_TXN_READ_COMMITTED: 内容を保証しない読取りはできません。非リピータブル・リードおよび仮読取りが可能です。

SQL_TXN_SERIALIZABLE: トランザクションはシリアライズ可能です。内容を保証しない読取り、非リピータブルリードまたは仮読取りが許可されるようになりました。

SQL_DRIVER_HDBC

ドライバ接続ハンドルへのポインタ。

SQL_DRIVER_HENV

ドライバ環境ハンドルへのポインタ。

SQL_DRIVER_HLIB

NULL

ノート: ドライバ・マネージャを使用すると、TimesTenライブラリへのポインタが返されます。

SQL_DRIVER_HSTMT

ドライバ文ハンドルへのポインタ。

SQL_DRIVER_NAME

ご使用のプラットフォームのTimesTen ODBCドライバ・ライブラリのファイル名。

SQL_DRIVER_ODBC_VER

ODBC 3.5の場合は3.51、ODBC 2.5の場合は2.50です。

SQL_DRIVER_VER

TimesTenのバージョンを示す文字列。たとえば、TimesTenリリース18.1の場合: 18.01.0001.0001 Oracle TimesTen version 18.1.4.1.0。

SQL_DROP_VIEW

TimesTen ODBC 2.5実装でサポートされているODBC 3.0情報型。「ODBC 3.5 SQLGetInfo用の情報型のサポート」を参照してください。

SQL_EXPRESSIONS_IN_ORDERBY

Y

SQL_FETCH_DIRECTION

SQL_FD_FETCH_NEXT

SQL_FILE_USAGE

SQL_FILE_NOT_SUPPORTED: ドライバは単一層ドライバではありません。

SQL_GETDATA_EXTENSIONS

SQL_GD_ANY_COLUMN: SQLGetDataは、最後にバインドされた列の前にあるものも含め、バインドなし列に対してコールできます。SQL_GD_ANY_ORDERも返される場合を除き、列は列番号の昇順にコールする必要があります。

SQL_GD_ANY_ORDER: SQLGetDataは、バインドなし列に対して任意の順序でコールできます。SQL_GD_ANY_COLUMNも返される場合を除き、SQLGetDataは最後にバインドされた列の後にある列に対してのみコールできます。

SQL_GD_BOUND: SQLGetDataは、バインドなし列に加えて、バインドされた列に対してもコールできます。ドライバは、SQL_GD_ANY_COLUMNも返す場合を除き、この値を返すことはできません。

SQL_GROUP_BY

SQL_GB_GROUP_BY_CONTAINS_SELECT: GROUP BY句には、選択リストの非集計列がすべて含まれている必要がありますが、選択リストにない列を含めることもできます。次に例を示します。

SELECT dept, MAX(salary) FROM employee 
GROUP BY dept, age;

SQL_IDENTIFIER_CASE

SQL_IC_UPPER: SQL識別子は、大/小文字が区別されず、システム・カタログに大文字で格納されます。

SQL_IDENTIFIER_QUOTE_CHAR

""": 1つの引用符(引用符文字)を含む文字列。

SQL_KEYWORDS

TT_SQL_KEYWORDS: TimesTen固有のSQLキーワードのカンマ区切りリストを含む文字列。

「ODBC 2.5のTimesTen SQLキーワード」を参照してください。

SQL_LIKE_ESCAPE_CLAUSE

Y

SQL_MAX_BINARY_LITERAL_LEN

16384

SQL_MAX_CHAR_LITERAL_LEN

YY_BUF_SIZE

SQL_MAX_COLUMN_NAME_LEN

別名SQL_MAXIMUM_COLUMN_NAME_LENGTH

sb_ObjNameLenMax

SQL_MAX_COLUMNS_IN_GROUP_BY

別名SQL_MAXIMUM_COLUMNS_IN_GROUP_BY

MAX_COLUMNS_IN_GB

SQL_MAX_COLUMNS_IN_INDEX

MAX_COLUMNS_IN_IDX

SQL_MAX_COLUMNS_IN_ORDER_BY

別名SQL_MAXIMUM_COLUMNS_IN_ORDER_BY

MAX_COLUMNS_IN_OB

SQL_MAX_COLUMNS_IN_SELECT

別名SQL_MAXIMUM_COLUMNS_IN_SELECT

MAX_COLUMNS_IN_SELECT

SQL_MAX_COLUMNS_IN_TABLE

別名SQL_MAXIMUM_COLUMNS_IN_TABLE

MAX_COLUMNS_IN_TBL

SQL_MAX_CURSOR_NAME_LEN

別名SQL_MAXIMUM_CURSOR_NAME_LENGTH

18

SQL_MAX_INDEX_SIZE

4194304

SQL_MAX_OWNER_NAME_LEN

sb_ObjNameLenMax

SQL_MAX_PROCEDURE_NAME_LEN

sb_NameLenMax - 1

SQL_MAX_QUALIFIER_NAME_LEN

0: 特定の最大長はありません。

SQL_MAX_ROW_SIZE

4194304

SQL_MAX_STATEMENT_LEN

別名SQL_MAXIMUM_STATEMENT_LENGTH

sb_SqlStringLenMax

SQL_MAX_TABLE_NAME_LEN

別名SQL_MAXIMUM_TABLE_NAME_LENGTH

sb_ObjNameLenMax

SQL_MAX_TABLES_IN_SELECT

別名SQL_MAXIMUM_TABLES_IN_SELECT

sb_SqlCorrMax

SQL_MAX_USER_NAME_LEN

別名SQL_MAXIMUM_USER_NAME_LENGTH

sb_ObjNameLenMax

SQL_MULT_RESULT_SETS

N

SQL_MULTIPLE_ACTIVE_TXN

Y

SQL_NEED_LONG_DATA_LEN

N

SQL_NON_NULLABLE_COLUMNS

SQL_NNC_NON_NULL: 列はNULLにできません。(データソースは、CREATE TABLE文のNOT NULL列制約をサポートしています。)

SQL_NULL_COLLATION

SQL_NC_HIGH: null値は、ASCキーワードまたはDESCキーワードに応じて、結果セットの先頭または末尾にソートされます。

SQL_NUMERIC_FUNCTIONS

SQL_FN_NUM_ABS、SQL_FN_NUM_CEILING、SQL_FN_NUM_FLOOR、SQL_FN_NUM_MOD、SQL_FN_NUM_POWER、SQL_FN_NUM_ROUND、SQL_FN_NUM_SIGN、SQL_FN_NUM_SQRT

SQL_ODBC_SQL_OPT_IEF

N

SQL_ODBC_VER

N/A。ドライバ・マネージャによって実装されます。

SQL_OJ_CAPABILITIES

別名SQL_OUTER_JOIN_CAPABILITIES

SQL_OJ_LEFT: 左外部結合をサポートしています。

SQL_OJ_RIGHT: 右外部結合をサポートしています。

SQL_OJ_NOT_ORDERED: 外部結合のON句にある列名は、OUTER JOIN句にあるそれぞれの表名と同じ順序である必要はありません。

SQL_OJ_INNER: 内部表(左外部結合の右表または右外部結合の左表)は、内部結合にも使用できます。これは、内部表がない完全外部結合には適用されません。

SQL_OJ_ALL_COMPARISON_OPS: ON句の比較演算子は、ODBC比較演算子のいずれかにできます。このビットを設定していない場合、外部結合に使用できるのは等号(=)比較演算子のみです。

SQL_ORDER_BY_COLUMNS_IN_SELECT

Y

SQL_OUTER_JOINS

Y

SQL_OWNER_TERM

所有者

SQL_OWNER_USAGE

SQL_OU_DML_STATEMENTS: すべてのDML文でスキーマがサポートされています。

SQL_OU_PROCEDURE_INVOCATION: スキーマは、ODBCプロシージャの起動文でサポートされています。

SQL_OU_TABLE_DEFINITION: CREATE TABLECREATE VIEWALTER TABLEDROP TABLEおよびDROP VIEWの各文でスキーマがサポートされています。

SQL_OU_INDEX_DEFINITION: CREATE INDEX文およびDROP INDEX文でスキーマがサポートされています。

SQL_OU_PRIVILEGE_DEFINITION: GRANT文およびREVOKE文でスキーマがサポートされています。

SQL_PARAM_ARRAY_ROW_COUNTS

TimesTen ODBC 2.5実装でサポートされているODBC 3.0情報型。「ODBC 3.5 SQLGetInfo用の情報型のサポート」を参照してください。

SQL_PARAM_ARRAY_SELECTS

TimesTen ODBC 2.5実装でサポートされているODBC 3.0情報型。「ODBC 3.5 SQLGetInfo用の情報型のサポート」を参照してください。

SQL_POS_OPERATIONS

0: スクロール可能カーソルはサポートされていません。

SQL_PROCEDURE_TERM

プロシージャ

SQL_PROCEDURES

Y

SQL_QUALIFIER_LOCATION

0: 修飾子としてのカタログ名はサポートされていません。

SQL_QUALIFIER_NAME_SEPARATOR

NULL: サポートされていません。

SQL_QUALIFIER_TERM

データ・ストア

SQL_QUALIFIER_USAGE

0: カタログはサポートされていません。

SQL_QUOTED_IDENTIFIER_CASE

SQL_IC_SENSITIVE: SQL内の引用符付き識別子は、大/小文字が区別され、システム・カタログに大/小文字混在で格納されます。

SQL_ROW_UPDATES

N

SQL_SCROLL_OPTIONS

SQL_SO_FORWARD_ONLY: カーソルは前方にのみスクロールできます。

SQL_SEARCH_PATTERN_ESCAPE

\\

SQL_SERVER_NAME

"": 空の文字列。

SQL_SPECIAL_CHARACTERS

#@$: 特殊文字を示す文字列。

SQL_SQL92_RELATIONAL_JOIN_OPERATORS

TimesTen ODBC 2.5実装でサポートされているODBC 3.0情報型。「ODBC 3.5 SQLGetInfo用の情報型のサポート」を参照してください。

SQL_SQL92_VALUE_EXPRESSIONS

TimesTen ODBC 2.5実装でサポートされているODBC 3.0情報型。「ODBC 3.5 SQLGetInfo用の情報型のサポート」を参照してください。

SQL_STRING_FUNCTIONS

SQL_FN_STR_CHAR、SQL_FN_STR_CONCAT、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_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

SQL_SUBQUERIES

SQL_SQ_CORRELATED_SUBQUERIES、SQL_SQ_COMPARISON、SQL_SQ_EXISTS、SQL_SQ_IN、SQL_SQ_INSQL_SQ_QUANTIFIED

SQL_SYSTEM_FUNCTIONS

SQL_FN_SYS_IFNULL、SQL_FN_SYS_USERNAME

SQL_TABLE_TERM

SQL_TIMEDATE_ADD_INTERVALS

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

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

SQL_FN_TD_TIMESTAMPADD、SQL_FN_TD_NOW、SQL_FN_TD_TIMESTAMPDIFF

SQL_TXN_CAPABLE

別名SQL_TRANSACTION_CAPABLE

SQL_TC_DDL_COMMIT: ODBC 2.0標準に従って、トランザクションにDML文のみを含めることができ、トランザクションで検出されたDDL文によってトランザクションがコミットされることを示します。TimesTenはOracle Databaseセマンティクスを実装しており、これによりDMLとDDLの両方を1つのトランザクションに含めることができますが、トランザクションをコミットするのはDDL文です。

SQL_TXN_ISOLATION_OPTION

別名SQL_TRANSACTION_ISOLATION_OPTION

SQL_TXN_READ_COMMITTED、SQL_TXN_SERIALIZABLE

SQL_UNION

SQL_U_UNION: データソースはUNION句をサポートしています。

SQL_U_UNION_ALL: データソースは、UNION句のALLキーワードをサポートしています。(この場合、SQLGetInfoSQL_U_UNIONSQL_U_UNION_ALLの両方を返します。)

SQL_USER_NAME

実行時に、ユーザー名が含まれている文字列を返します。



ノート:

InfoType値としてSQL_DRIVER_HDBCSQL_DRIVER_HENVまたはSQL_DRIVER_HSTMTを使用する場合は、「変更されたODBC 2.5関数シグネチャ」を参照してください。

ODBC 2.5のTimesTen SQLキーワード

この項では、SQLGetInfoコールでSQL_KEYWORDSに対して返されるTimesTen SQLキーワードを示します。

TimesTen予約語のリストとは異なります。そのリストについては、『Oracle TimesTen In-Memory Database SQLリファレンス』の予約語に関する項を参照してください。

ABS、ACCOUNT、ACTIVE、ADDMONTHS、ADMIN、AFFINITY、AGENT、AGING、ALLOW、ASCIISTR、ASYNCHRONOUS、AUTHID、AUTOREFRESH、AWT、BATCH、BIG、BIGINT、BINARY、BINARY_DOUBLE、BINARY_DOUBLE_INFINITY、BINARY_DOUBLE_NAN、BINARY_FLOAT、BINARY_FLOAT_INFINITY、BINARY_FLOAT_NAN、BITAND、BITMAP、BITNOT、BITOR、BITXOR、BLOB、BODY、BYTE、BYTES、CACHE、CACHEONLY、CACHE_MANAGER、CALL、CHECKING、CHR、CLOB、COLUMNAR、COMMITTED、COMPILE、COMPLETE、COMPRESS、CONCAT、CONFLICT、CONFLICTS、CS、CUBE、CURRENT_SCHEMA、CURRVAL、CYCLE、DATASTORE、DATASTORE_OWNER、DAYS、DEBUG、DECODE、DEFINED、DEFINER、DEFINITION、DELETE_FT、DESTROY、DICTIONARY、DIRECTORY、DISABLE、DISTRIBUTE、DUPLICATE、DURABLE、DURATION、DYNAMIC、ELEMENT、ENABLE、ENCRYPTED、ENDSEQ、EVERY、EXACT、EXCLUDE、EXIT、EXPIRE、EXTERNALLY、FACTOR、FAILTHRESHOLD、FAST、FIRST_VALUE、FLUSH、FOLLOWING、FORCE、FORMAT、FUNCTION、GETDATE、GRID、GROUPING、GROUPING_ID、GROUP_ID、HASH、HEARTBEAT、HIERARCHY、HOURS、ID、IDENTIFIED、IGNORE、INCREMENT、INCREMENTAL、INFINITE、INLINE、INSERTONLY、INSTANCE、INSTR、INSTR4、INSTRB、LAST_VALUE、LATENCY、LENGTH、LENGTH4、LENGTHB、LIBRARY、LIFETIME、LIMIT、LIMIT_FT、LOAD、LOAD_FT、LOCK、LOG、LONG、LRU、MASTER、MASTERIP、MATCHED、MATERIALIZED、MAXVALUE、MAXVALUES、MERGE、MIGRATORY、MILLISECOND、MILLISECONDS、MINUS、MINUTES、MINVALUE、MOD、MODE、MODIFY、MULTI、NAME、NAN、NCHAR_CS、NCHR、NCLOB、NEXTVAL、NLSSORT、NOBATCH、NOCACHE、NOCYCLE、NOMAXVALUE、NOMINVALUE、NONDURABLE、NOORDER、NOWAIT、NULLS、NUMBER、NUMTODSINTERVAL、NUMTOYMINTERVAL、NVARCHAR、NVARCHAR2、NVL、OFF、OPTIMIZED、ORACLE、ORA_CHAR、ORA_DATE、ORA_FLOAT、ORA_NCHAR、ORA_NVARCHAR2、ORA_SYSDATE、ORA_TIMESTAMP、ORA_VARCHAR2、OUT、OVER、PACKAGE、PAGES、PAIR、PARALLEL、PARTITION、PASSWORD、PAUSED、PLSQL_WARNINGS、PORT、PRECEDING、PRIORITY、PRIVATE、PROPAGATE、PROPAGATOR、PUBLICREAD、PUBLICROW、QUIT、RANGE、RC、READERS、READONLY、RECEIPT、REFERENCE、REFRESH、REFRESH_FT、RELAXED、RELEASE、RENAME、REPLACE、REPLICATION、REPORT、REPORTING、REQUEST、RESUME、RETURN、RETURNING、REUSE、RLE、ROLLUP、ROUTE、ROW、ROWID、ROWIDONLY、ROWNUM、RR、RTRIM、RU、SECONDS、SELF、SEQBATCH、SEQCACHE、SEQUENCE、SERVICES、SETS、SETTINGS、SPECIFICATION、SQL_TSI_DAY、SQL_TSI_FRAC_SECOND、SQL_TSI_HOUR、SQL_TSI_MINUTE、SQL_TSI_MONTH、SQL_TSI_QUARTER、SQL_TSI_SECOND、SQL_TSI_WEEK、SQL_TSI_YEAR、STANDARD、STANDBY、START、STARTSEQ、STATE、STATIC、STOPPED、STORE、SUBSCRIBER、SUBSCRIBERIP、SUBSTR、SUBSTR4、SUBSTRB、SUSPEND、SYNCHRONOUS、SYNONYM、SYSDATE、SYSDBA、SYSTEM、TAG、TIMEOUT、TIMESTAMPADD、TIMESTAMPDIFF、TINYINT、TO_BLOB、TO_CHAR、TO_CLOB、TO_DATE、TO_LOB、TO_NCLOB、TO_NUMBER、TO_TIMESTAMP、TRAFFIC、TRANSMIT、TREE、TRUNC、TRUNCATE、TRUSTED、TT_BIGINT、TT_BINARY、TT_CHAR、TT_DATE、TT_DECIMAL、TT_HASH、TT_INT、TT_INTEGER、TT_INTERVAL、TT_NCHAR、TT_NVARCHAR、TT_SMALLINT、TT_SYSDATE、TT_TIME、TT_TIMESTAMP、TT_TINYINT、TT_VARBINARY、TT_VARCHAR、TWOSAFE、UID、UNBOUNDED、UNISTR、UNLOAD、UNLOCK、USE、USERMANAGED、VARBINARY、VARCHAR2、WAIT、WRAPPED、WRITETHROUGH、XLA、XML、XYZZY

以前のバージョンのTimesTenとのODBC APIの非互換性

TimesTen 18.1リリースでは、以前のバージョンのTimesTenで使用していたODBCアプリケーションに影響を与える変更が導入されています。

TimesTenドライバはODBCに準拠していますが、このリリースでは、LinuxおよびUNIXプラットフォームにTimesTenをインストールした場合、includeディレクトリに最新のODBCヘッダー・ファイルが用意されています。

64ビットとの互換性を確保するために、ODBCデータ型および関数を更新するように変更が行われました。

これらの変更およびその他の変更により、任意のプラットフォームでコードの変更が必要になる場合があります。ODBCアプリケーションのコード更新を必要とするODBC変更は、次のカテゴリに分類されます。

  • ODBC関数の変更

    • 関数シグネチャの変更: 64ビット・プログラミング用にいくつかの関数シグネチャが変更されました。

    • オプションまたは属性値のサイズに対する変更: これは、接続オプション、文オプション、列属性、またはドライバとデータソース情報に関して、渡すか返す値のことです。これらは、次に示す状況では64ビット値になりました。

  • ODBCデータ型の変更


重要:

必要なコード変更が使用中のアプリケーションには適用対象外でも、TimesTen 18.1リリースを最初に使用するときに、既存のODBCアプリケーションを再コンパイルして再リンクする必要があります。

既存のTimesTen ODBCアプリケーションでこれらの項で説明する機能を使用する場合は、必要に応じてアプリケーションを更新する必要があります。

変更されたODBC 3.5関数シグネチャ

以前のリリースのTimesTenでは、次のようなODBC 3.5機能を部分的にサポートしていました。

  • ハンドルの割当て方法

  • 診断レコード

  • ワイド・キャラクタ関数

  • ハンドルの属性の設定関数および取得関数

  • SQLColAttribute

  • SQLCloseCursorSQLEndTranなど、2.5の機能に直接マップされるその他の関数

表10-15に示す関数では、表に記載のとおり、シグネチャや属性値のサイズが変更されているため、ODBC 3.5アプリケーションのコードを更新する必要があります。属性値のサイズは、接続属性および文属性に関して、渡すか返す値に適用されます。


ノート:

  • シグネチャの変更は、64ビット環境または32ビット環境に適用されます。オプションおよび属性値のサイズ変更は、64ビット環境にのみ適用されます。

  • TimesTen ODBCでは、TimesTenでサポートされていない機能に関連するオプションまたは属性の値が返されません。例: SQL_ATTR_ASYNC_ENABLESQL_ATTR_ENLIST_IN_DTCSQL_ATTR_CURSOR_SCROLLABLESQL_ATTR_CURSOR_SENSITIVITYSQL_ATTR_FETCH_BOOKMARK_PTRSQL_ATTR_METADATA_IDSQL_ATTR_RETRIEVE_DATASQL_ATTR_SIMULATE_CURSORSQL_ATTR_USE_BOOKMARKS


表10-15 ODBC 3.5関数の変更点

関数 シグネチャ変更 オプションおよび属性値のサイズ変更

SQLColAttribute

SQLColAttributeW

該当なし

UNIXプラットフォーム: 次のFieldIdentifier値の場合、64ビット値が*NumericAttributePtrに返されます。


SQL_DESC_AUTO_UNIQUE_VALUE
SQL_DESC_CASE_SENSITIVE
SQL_DESC_CONCISE_TYPE
SQL_DESC_COUNT
SQL_DESC_DISPLAY_SIZE
SQL_DESC_FIXED_PREC_SCALE
SQL_DESC_LENGTH
SQL_DESC_NULLABLE
SQL_DESC_NUM_PREC_RADIX
SQL_DESC_OCTET_LENGTH
SQL_DESC_PRECISION
SQL_DESC_SCALE
SQL_DESC_SEARCHABLE
SQL_DESC_TYPE
SQL_DESC_UNNAMED
SQL_DESC_UNSIGNED
SQL_DESC_UPDATABLE

SQLGetConnectAttr

SQLGetConnectAttrW

*ValuePtrは、取得する属性に応じてSQLUINTEGERまたはSQLULENである必要があります。

ノート: TimesTen固有の属性(接頭辞TT_が付いているもの)は同じデータ型のままです。

UNIXプラットフォーム: 次の属性の場合、64ビット値が*ValuePtrに返されます。


SQL_ATTR_ASYNC_ENABLE
SQL_ATTR_ENLIST_IN_DTC
SQL_ATTR_ODBC_CURSORS
SQL_ATTR_QUIET_MODE

SQLGetStmtAttr

SQLGetStmtAttrW

*ValuePtrは、取得する属性に応じてSQLUINTEGERまたはSQLULENである必要があります。

ノート: TimesTen固有の属性(接頭辞TT_が付いているもの)は同じデータ型のままです。

UNIXプラットフォーム: 次の属性の場合、64ビット値が*ValuePtrに返されます。


SQL_ATTR_APP_PARAM_DESC
SQL_ATTR_APP_ROW_DESC
SQL_ATTR_ASYNC_ENABLE
SQL_ATTR_CONCURRENCY
SQL_ATTR_CURSOR_SCROLLABLE
SQL_ATTR_CURSOR_SENSITIVITY
SQL_ATTR_CURSOR_TYPE
SQL_ATTR_ENABLE_AUTO_IPD
SQL_ATTR_FETCH_BOOKMARK_PTR
SQL_ATTR_ROWS_FETCHED_PTR
SQL_ATTR_IMP_PARAM_DESC
SQL_ATTR_IMP_ROW_DESC
SQL_ATTR_KEYSET_SIZE
SQL_ATTR_MAX_LENGTH
SQL_ATTR_MAX_ROWS
SQL_ATTR_METADATA_ID
SQL_ATTR_NOSCAN
SQL_ATTR_PARAM_BIND_OFFSET_PTR
SQL_ATTR_PARAM_BIND_TYPE
SQL_ATTR_PARAM_OPERATION_PTR
SQL_ATTR_PARAM_STATUS_PTR
SQL_ATTR_PARAMS_PROCESSED_PTR
SQL_ATTR_PARAMSET_SIZE
SQL_ATTR_QUERY_TIMEOUT
SQL_ATTR_RETRIEVE_DATA
SQL_ATTR_ROW_ARRAY_SIZE
SQL_ATTR_ROW_BIND_OFFSET_PTR
SQL_ATTR_ROW_NUMBER
SQL_ATTR_ROW_OPERATION_PTR
SQL_ATTR_ROW_STATUS_PTR
SQL_ATTR_SIMULATE_CURSOR
SQL_ATTR_USE_BOOKMARKS

SQLSetConnectAttr

SQLSetConnectAttrW

*ValuePtrは、設定する属性に応じてSQLUINTEGERまたはSQLULENである必要があります。

ノート: TimesTen固有の属性(接頭辞TT_が付いているもの)は同じデータ型のままです。

UNIXプラットフォーム: 次の属性の場合、64ビット値が*ValuePtrに渡されます。


SQL_ATTR_ASYNC_ENABLE
SQL_ATTR_ENLIST_IN_DTC
SQL_ATTR_ODBC_CURSORS
SQL_ATTR_QUIET_MODE

SQLSetStmtAttr

SQLSetStmtAttrW

*ValuePtrは、設定する属性に応じてSQLUINTEGERまたはSQLULENである必要があります。

ノート: TimesTen固有の属性(接頭辞TT_が付いているもの)は同じデータ型のままです。

UNIXプラットフォーム: 次の属性の場合、64ビット値が*ValuePtrに渡されます。


SQL_ATTR_APP_PARAM_DESC
SQL_ATTR_APP_ROW_DESC
SQL_ATTR_ASYNC_ENABLE
SQL_ATTR_CONCURRENCY
SQL_ATTR_CURSOR_SCROLLABLE
SQL_ATTR_CURSOR_SENSITIVITY
SQL_ATTR_CURSOR_TYPE
SQL_ATTR_ENABLE_AUTO_IPD
SQL_ATTR_FETCH_BOOKMARK_PTR
SQL_ATTR_IMP_PARAM_DESC
SQL_ATTR_IMP_ROW_DESC
SQL_ATTR_KEYSET_SIZE
SQL_ATTR_MAX_LENGTH
SQL_ATTR_MAX_ROWS
SQL_ATTR_METADATA_ID
SQL_ATTR_NOSCAN
SQL_ATTR_PARAM_BIND_OFFSET_PTR
SQL_ATTR_PARAM_BIND_TYPE
SQL_ATTR_PARAM_OPERATION_PTR
SQL_ATTR_PARAM_STATUS_PTR
SQL_ATTR_PARAMS_PROCESSED_PTR
SQL_ATTR_PARAMSET_SIZE
SQL_ATTR_QUERY_TIMEOUT
SQL_ATTR_RETRIEVE_DATA
SQL_ATTR_ROW_ARRAY_SIZE
SQL_ATTR_ROW_BIND_OFFSET_PTR
SQL_ATTR_ROW_NUMBER
SQL_ATTR_ROW_OPERATION_PTR
SQL_ATTR_ROW_STATUS_PTR
SQL_ATTR_ROWS_FETCHED_PTR
SQL_ATTR_SIMULATE_CURSOR
SQL_ATTR_USE_BOOKMARKS

変更されたODBC 2.5関数シグネチャ

表10-16に示す関数では、表に記載のとおり、シグネチャが変更されていたり、オプションや属性値のサイズが変更されているため、ODBC 2.5アプリケーションのコードを更新する必要があります。オプションまたは属性値のサイズは、接続オプション、文オプション、列属性、またはドライバとデータソース情報に関して、渡すか返す値に適用されます。

表10-16 ODBC 2.5関数の変更点

関数 シグネチャ変更 オプションおよび属性値のサイズ変更

SQLColAttributes

SQLColAttributesW

該当なし

LinuxおよびUNIXプラットフォーム: fDescType値の場合、SQLLEN値が*pfDescに返されます。


SQL_COLUMN_COUNT
SQL_COLUMN_DISPLAY_SIZE
SQL_COLUMN_LENGTH
SQL_DESC_AUTO_UNIQUE_VALUE
SQL_DESC_CASE_SENSITIVE
SQL_DESC_CONCISE_TYPE
SQL_DESC_FIXED_PREC_SCALE
SQL_DESC_SEARCHABLE
SQL_DESC_UNSIGNED
SQL_DESC_UPDATABLE

SQLGetConnectOption

SQLGetConnectOptionW

Valueパラメータは、取得するオプションに応じてSQLUINTEGERまたはSQLULENである必要があります。

ノート: TimesTen固有のオプション(接頭辞TT_が付いているもの)は同じデータ型のままです。

LinuxおよびUNIXプラットフォーム: オプションSQL_ATTR_QUIET_MODEの場合、HWND値(ウィンドウへのvoid *ポインタ)がValueに返されます。

SQLGetInfo

SQLGetInfoW

該当なし

LinuxおよびUNIXプラットフォーム: InfoType値の場合、SQLPOINTER値が*InfoValuePtrに返されます。


SQL_DRIVER_HDBC
SQL_DRIVER_HENV
SQL_DRIVER_HSTMT

SQLGetStmtOption

Valueパラメータは、取得するオプションに応じてSQLUINTEGERまたはSQLULENである必要があります。

ノート: TimesTen固有のオプション(接頭辞TT_が付いているもの)は同じデータ型のままです。

LinuxおよびUNIXプラットフォーム: 次のオプションの場合、SQLPOINTER値がValueに返されます。


SQL_KEYSET_SIZE
SQL_MAX_LENGTH
SQL_MAX_ROWS
SQL_ROWSET_SIZE

SQLParamOptions

LinuxおよびUNIXプラットフォーム: crowおよびpirowパラメータがSQLULENとして宣言されるようになりました。

該当なし

SQLSetConnectOption

SQLSetConnectOptionW

Valueパラメータは、設定するオプションに応じてSQLUINTEGERまたはSQLULENである必要があります。

ノート: TimesTen固有のオプション(接頭辞TT_が付いているもの)は同じデータ型のままです。

LinuxおよびUNIXプラットフォーム: オプションSQL_ATTR_QUIET_MODEの場合、HWND値(ウィンドウへのvoid *ポインタ)がValueに渡されます。

SQLSetPos

TimesTenでは、スクロール可能カーソルはサポートされていません。この関数は、「Driver not capable」エラー(S1C00)を返します。

ノート: SQLSETPOSIROWのODBC定義(irowパラメータのデータ型)が変更されました。(次の項「変更されたODBCデータ型」を参照してください。)

該当なし

SQLSetStmtOption

Valueパラメータは、設定するオプションに応じてSQLUINTEGERまたはSQLULENである必要があります。

ノート: TimesTen固有のオプション(接頭辞TT_が付いているもの)は同じデータ型のままです。

LinuxおよびUNIXプラットフォーム: 次のオプションの場合、SQLPOINTER値がValueに渡されます。


SQL_KEYSET_SIZE
SQL_MAX_LENGTH
SQL_MAX_ROWS
SQL_ROWSET_SIZE

変更されたODBCデータ型

表10-17に、ODBCアプリケーションのコード更新を必要とするデータ型変更の概要を示します。

表10-17 変更されたODBC 2.5データ型

データ型 説明

HANDLE
HINSTANCE

LinuxおよびUNIXプラットフォーム: これらのデータ型は(void*)として再定義されました。


SQLROWCOUNT
SQLROWSETSIZE
SQLTRANSID

これらのデータ型は非推奨になりました。かわりにSQLULENを使用してください。


SQLROWOFFSET

このデータ型は非推奨になりました。かわりにSQLLENを使用してください。


SQLSETPOSIROW

LinuxおよびUNIXプラットフォーム: このデータ型はSQLULENとして再定義されました。かわりに直接SQLULENを使用することをお薦めします。