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

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

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

以前のTimesTenリリースでは、クロスリリース・クライアント/サーバー接続がサポートされており、クライアントのバージョンがサーバーのバージョンよりも新しいか古い可能性があります(18.1サーバーへの22.1クライアントの接続や、22.1サーバーへの18.1クライアントの接続など)。

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

ノート:

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

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

TimesTenでサポートされている新しいODBC 3.5関数と後継ODBC 3.5関数を示します。

ノート:

TimesTenは、表10-1および表10-11に示すように、汎用ドライバ・マネージャを使用しないアプリケーション用にワイド・キャラクタ(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を置き換えます。

「ODBC 3.5のSQLColAttributeのTimesTenフィールド識別子」を参照してください。

SQLCopyDesc

ノートなし

SQLEndTran

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

SQLFetchScroll

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

SQLFreeHandle

HandleTypeの該当する設定を使用して、ODBC 2.5関数SQLFreeEnvSQLFreeConnectおよびSQLFreeStmtを置き換えます。

SQLGetConnectAttrおよびSQLGetConnectAttrW

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

TimesTenドライバ・マネージャ(TTDM)のサポートが追加されました。

「ODBC 3.5のSQLSetConnectAttrおよびSQLGetConnectAttrでの属性サポート」を参照してください。

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

TimesTenドライバ・マネージャ(TTDM)のサポートが追加されました。

「ODBC 3.5のSQLGetEnvAttrでの属性サポート」を参照してください。

SQLGetInfo

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

SQLGetStmtAttrおよびSQLGetStmtAttrW

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

「ODBC 3.5のSQLSetStmtAttrおよびSQLGetStmtAttrでの属性サポート」を参照してください。

SQLSetConnectAttrおよびSQLSetConnectAttrW

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

「ODBC 3.5のSQLSetConnectAttrおよびSQLGetConnectAttrでの属性サポート」を参照してください。

SQLSetDescField

ノートなし

SQLSetDescRec

ノートなし

SQLSetEnvAttr

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

SQLSetStmtAttrおよびSQLSetStmtAttrW

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

「ODBC 3.5のSQLSetStmtAttrおよびSQLGetStmtAttrでの属性サポート」を参照してください。

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の環境属性のサポート

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での属性サポート

ODBC 3.5のSQLSetConnectAttr関数およびSQLGetConnectAttr関数について、TimesTenでの標準属性のサポート状況を説明します。また、ODBC 3.5とODBC 2.5の両方でサポートされている、TimesTen固有の接続属性を示します。

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

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

ノート:

  • SQLSetConnectAttrまたはSQLSetStmtAttrを介した属性設定は、対応する接続属性の設定を上書きします(該当する場合)。

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

  • TimesTenドライバ・マネージャ(TTDM)は、表10-4で説明されているように、TT_TTDM_CONNECTION_TYPE属性でサポートされています。

表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

表10-4 TimesTenの接続属性

属性 ノート

TT_CLIENT_TIMEOUT

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

『Oracle TimesTen In-Memory Databaseオペレーション・ガイド』SQLおよびPL/SQLのタイムアウト値の選択も参照してください。

TT_DYNAMIC_LOAD_ENABLE

『Oracle TimesTen In-Memory Databaseキャッシュ・ガイド』動的ロードの有効化または無効化を参照してください。これには、DynamicLoadEnableキャッシュ一般接続属性と同じ機能があります。

TT_DYNAMIC_LOAD_ERROR_MODE

『Oracle TimesTen In-Memory Databaseキャッシュ・ガイド』動的ロードでエラーを返すを参照してください。これには、DynamicLoadErrorModeキャッシュ接続属性と同じ機能があります。

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

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

TT_REPLICATION_TRACK

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

TT_TTDM_CONNECTION_TYPE

TTDMを使用するODBCアプリケーションの場合、属性としてこれを指定すると、HDBCオブジェクトによって表される接続のタイプを示す値が返されます。値は次のいずれかです。

  • TT_TTDM_CONN_NONE: HDBCは接続されていません。

  • TT_TTDM_CONN_DIRECT: HDBCは直接モードで接続されています。

  • TT_TTDM_CONN_CLIENT: HDBCはクライアント/サーバー・モードで接続されています。

次の例を参照してください。

この例では、TTDMを使用するアプリケーションに、属性TT_TTDM_CONNECTION_TYPEを指定してSQLGetConnectAttrを使用する方法を示します。前述の表に記載されている接続タイプは、connTypeで返されます。

SQLINTEGER connType = 0;
rc = SQLGetConnectAttr(hdbc, TT_TTDM_CONNECTION_TYPE, &connType, SQL_IS_INTEGER, NULL);

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

ODBC 3.5のSQLSetStmtAttr関数およびSQLGetStmtAttr関数について、TimesTenでサポートされている標準属性を示します。また、ODBC 3.5とODBC 2.5の両方でサポートされている、TimesTen固有の文属性を示します。

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

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

ノート:

表10-5 標準の文属性(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

ノートなし

表10-6 TimesTenの文属性

属性 ノート

TT_NET_MSG_MAX_BYTES

クライアント/サーバーでの、結果セット・バッファの最大バイト数を決定します。「ODBCを使用したクライアント/サーバーでの結果セット・バッファ・サイズの構成」を参照してください。

TT_NET_MSG_MAX_ROWS

クライアント/サーバーでの、結果セット・バッファの最大行数を決定します。「ODBCを使用したクライアント/サーバーでの結果セット・バッファ・サイズの構成」を参照してください。

TT_PREFETCH_COUNT

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

TT_QUERY_THRESHOLD

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

TT_PRIVATE_COMMANDS

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

TT_STMT_PASSTHROUGH_TYPE

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

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

「パススルー・ステータスの確認」を参照してください。『Oracle TimesTen In-Memory Databaseキャッシュ・ガイド』パススルー・レベルの設定も参照してください。

ODBC 3.5のSQLGetEnvAttrでの属性サポート

この項では、SQLGetEnvAttrのTimesTen環境属性について説明します。

表10-7では、ODBC 3.5とODBC 2.5の両方でサポートされているTimesTen固有の環境属性を示します。これらの属性は、TimesTenドライバ・マネージャ(TTDM)をサポートしています。

表10-7 TimesTenの環境属性

属性 ノート

TT_TTDM_CAPABILITIES

TTDMを使用するODBCアプリケーションの場合、これを属性として指定し、ValuePtrパラメータのSQLINTEGERへのポインタを渡すと、TTDMで現在使用可能な機能を示す値が返されます。この値は、次の定数のビット単位のORとして表されます:

  • TT_TTDM_CLIENT: クライアント/サーバー・ドライバ機能を使用できます。

  • TT_TTDM_DIRECT: 直接ドライバ機能を使用できます。

  • TT_TTDM_XLA: XLA機能を使用できます。

  • TT_TTDM_ROUTING: ルーティングAPI機能を使用できます。

  • TT_TTDM_UTILITY: CユーティリティAPI関数を使用できます。

次の例を参照してください。

ノート: 使用可能な機能は、TTDMベースのアプリケーションが実行されているTimesTen環境で使用可能なものによって異なります。

TT_TTDM_VERSION

TTDMを使用するODBCアプリケーションの場合、これを属性として指定し、ValuePtrパラメータのSQLINTEGERへのポインタを渡すと、返される値は、18.1.4.9.0や22.1.1.1.0など、アプリケーションが使用しているTimesTenリリース(特にTTDMライブラリ)を示します。

次の例を参照してください。

この例では、TTDMを使用するアプリケーションに、属性TT_TTDM_VERSIONを指定してSQLGetEnvAttrを使用する方法を示します。

SQLCHAR ttdmver[21];
rc = SQLGetEnvAttr(henv, TT_TTDM_VERSION, (SQLPOINTER)ttdmver, sizeof(ttdmver), NULL);

ttdmverで返される値は、アプリケーションが使用しているTTDMライブラリのTimesTenリリースを示します。

次の例では、TTDMを使用するアプリケーションに、属性TT_TTDM_CAPABILITIESを指定してSQLGetEnvAttrを使用する方法を示します。

SQLINTEGER ttdmcap = 0;
rc = SQLGetEnvAttr(henv, TT_TTDM_CAPABILITIES, (SQLPOINTER)&ttdmcap, 0, NULL);

ttdmcapで返される値は、前述の表に記載されている定数のビット単位のORで、TTDMで現在使用可能な機能を示します。次に、サポートされている機能を確認します。

...
if ( ttdmcap & TT_TTDM_CLIENT )
     printf("TTDM: Client driver functions are available\n");
if ( ttdmcap & TT_TTDM_DIRECT )
     printf("TTDM: Direct driver functions are available\n");
if ( ttdmcap & TT_TTDM_XLA )
     printf("TTDM: XLA functions are available\n");
if ( ttdmcap & TT_TTDM_ROUTING )
     printf("TTDM: Routing API functions are available\n");
if ( ttdmcap & TT_TTDM_UTILITY )
     printf("TTDM: Utility functions are available\n");
...

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

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

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

ノート:

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

表10-8を参照してください。

表10-8 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-9に、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-9 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

"data store"

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

"owner"

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-10に、TimesTen固有の情報型を示します。

表10-10 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リファレンス』予約語を参照してください。