TimesTenでのOCIのサポートに関するリファレンス

ここでは、TimesTenでのOCI機能のサポートについてリファレンス情報を示します。

サポートされているOCIコール

TimesTenでのOCIコールのサポートについて説明します。

表3-2では、Oracle Database 19cリリースについて、TimesTenでのOCIコールのサポート状況を示します。

一部のコールのグループは、名前にアスタリスクを付けて示しています。たとえば、TimesTenでサポートされていないアドバンスト・キューイングに関連するコールは、OCIAQで始まる名前を持ち、表ではOCIAQ*()と示されています。TimesTenでサポートされているOCI日付関数は、OCIDate*()と示されています。

ノート:

TimesTenは、次の機能または関連するコールをサポートしていません。アドバンスト・キューイング、任意データ、コレクション、データ・カートリッジ、ダイレクト・パス・ロード、ユーザー定義のオブジェクト、XML DB。

表3-2 TimesTenのOCIでサポートされているコール

OCIコール ノート

OCIAppCtxClearAll()

ノートなし

OCIAppCtxSet()

ノートなし

OCIArrayDescriptorAlloc()

ノートなし

OCIArrayDescriptorFree()

ノートなし

OCIAttrGet()

「サポートされているハンドルおよび属性」を参照してください。

TimesTenサポートには、キャッシュ・グループでの特別な使用方法が含まれています。「TimesTenのOCIでのキャッシュ操作の使用」を参照してください。

OCIAttrSet()

「サポートされているハンドルおよび属性」を参照してください。

OCIBindArrayOfStruct()

SQL文ではサポートされていますが、PL/SQLではサポートされていません。

OCIBindByName()

次の値は、modeパラメータではサポートされていません。

  • OCI_IOV

OCIBindByPos()

次の値は、modeパラメータではサポートされていません。

  • OCI_IOV

OCIBindDynamic()

ノートなし

OCICharSetConversionIsReplacementUsed()

ノートなし

OCICharSetToUnicode()

ノートなし

OCIClientVersion()

ノートなし

OCIDate*()

表3-4を参照してください。

OCIDefineArrayOfStruct()

SQL文ではサポートされていますが、PL/SQLではサポートされていません。

OCIDefineByPos()

次の値は、modeパラメータではサポートされていません。

  • OCI_IOV

OCIDefineDynamic()

ノートなし

OCIDescribeAny()

PL/SQLオブジェクトはサポートされていません。

オブジェクトの記述は名前でのみサポートされます。

「サポートされているパラメータ属性」を参照してください。

objptr_typパラメータでは、次の値はサポートされていません。

  • OCI_OTYPE_REF

  • OCI_OTYPE_PTR

objtypパラメータでは、次の値はサポートされていません。

  • OCI_PTYPE_PKG

  • OCI_PTYPE_FUNC

  • OCI_PTYPE_PROC

  • OCI_PTYPE_SYN

  • OCI_PTYPE_TYPE

objtyp パラメータの設定OCI_PTYPE_DATABASEを使用する場合は、事前定義済名$TT_DB_NAME$を、*objptrパラメータでデータベース名として使用します。

OCIDescriptorAlloc()

ノートなし

OCIDescriptorFree()

ノートなし

OCIDurationBegin()

LOB用にサポートされています。期間の設定にかかわらず、期間はトランザクション存続期間を超えることはできません。

OCIDurationEnd()

LOB用にサポートされています。期間の設定にかかわらず、期間はトランザクション存続期間を超えることはできません。

OCIEnvCreate()

次の値は、modeパラメータではサポートされていません。

  • OCI_EVENTS

  • OCI_NEW_LENGTH_SEMANTICS

  • OCI_NCHAR_LITERAL_REPLACE_ON

  • OCI_NCHAR_LITERAL_REPLACE_OFF

  • OCI_NO_MUTEX(かわりにOCI_ENV_NO_MUTEXを使用します。)

OCIEnvInit()

次の値は、modeパラメータではサポートされていません。

  • OCI_NO_MUTEX

  • OCI_ENV_NO_MUTEX

ノート: OCIEnvInit()のかわりにOCIEnvCreate()を使用します。OCIEnvInit()は下位互換性を保つためにサポートされています。

OCIEnvNlsCreate()

次の値は、modeパラメータではサポートされていません。

  • OCI_EVENTS

  • OCI_NCHAR_LITERAL_REPLACE_ON

  • OCI_NCHAR_LITERAL_REPLACE_OFF

  • OCI_NO_MUTEX(かわりにOCI_ENV_NO_MUTEXを使用します。)

OCIErrorGet()

ノートなし

OCIHandleAlloc()

ノートなし

OCIHandleFree()

ノートなし

OCIInitialize()

次の値は、modeパラメータではサポートされていません。

  • OCI_NO_MUTEX

  • OCI_ENV_NO_MUTEX

ノート: OCIInitialize()のかわりにOCIEnvCreate()を使用します。OCIInitialize()は下位互換性を保つためにサポートされています。

OCIInterval*()

表3-4を参照してください。

OCILob*()

TimesTenでは、次を除くOCILob*()関数がサポートされています。

  • 特に配列の読取りおよび書込みを対象とした関数

  • 特にBFILEを対象とした関数

  • 特にSecureFileを対象とした関数

ノート:

OCILogoff()

ノートなし

OCILogon()

ノートなし

OCILogon2()

modeパラメータでは、OCI_DEFAULT値のみがサポートされています。

OCIMultiByte*()

ノートなし

OCINls*()

ノートなし

OCINumber*()

ノートなし

OCIParamGet()

ノートなし

OCIParamSet()

ノートなし

OCIPing()

ノートなし

OCIRaw*()

ノートなし

OCIRowidToChar()

ノートなし

OCIServer*()

OCIServerAttachmodeパラメータでは、OCI_DEFAULT値のみがサポートされています。

OCISessionBegin()

credtパラメータでは、OCI_CRED_RDBMS値のみがサポートされています。

modeパラメータでは、OCI_DEFAULT値のみがサポートされています。

OCISessionEnd()

ノートなし

OCISessionGet()

TimesTenでは、セッション間の切り替えはサポートされていません。

OCISessionRelease()

ノートなし

OCIStmtExecute()

次の値は、modeパラメータではサポートされていません。

  • OCI_BATCH_ERRORS

  • OCI_STMT_SCROLLABLE_READONLY

ノート: OCI_COMMIT_ON_SUCCESSを使用すると、トランザクションをコミットするためのサーバーへの余分なラウンドトリップが回避され、パフォーマンスが向上します。

OCIStmtFetch()

ノートなし

OCIStmtFetch2()

orientationパラメータでサポートされている値は、OCI_DEFAULTおよびOCI_FETCH_NEXTのみです。

OCIStmtGetBindInfo()

ノートなし

OCIStmtPrepare()

languageパラメータでサポートされている値は、OCI_NTV_SYNTAXのみです。

OCIStmtPrepare2()

modeパラメータでサポートされている値は、OCI_DEFAULTのみです。

文のキャッシュについては、TimesTenでは、OCIStmtPrepare2()またはOCIStmtRelease()への将来のコール用に、文にタグを付けるためのkey引数がサポートされています。

OCIStmtRelease()

modeパラメータでサポートされている値は、OCI_DEFAULTのみです。

文のキャッシングについては、TimesTenでは、文にタグを付けるためのkey引数がサポートされています。これには、OCIStmtPrepare2()から返されたキーを指定できます。

OCIString*()

ノートなし

OCIThread*()

ノートなし

OCITransCommit()

modeパラメータでサポートされている値は、OCI_DEFAULTのみです。

OCITransRollback()

ノートなし

OCIUnicodeToCharSet()

ノートなし

OCIUserCallbackGet()

ノートなし

OCIUserCallbackRegister()

ノートなし

OCIWideChar*()

ノートなし

サポートされているハンドルおよび属性

OCIAttrGet()コールとOCIAttrSet()コールについて、TimesTenのOCIでサポートされているハンドルおよび属性を示します。

表3-3には、TimesTen OCIがOCIAttrGet()コールおよびOCIAttrSet()コールでサポートするハンドルと属性がリストされています。

『Oracle Call Interfaceプログラマーズ・ガイド』ハンドルと記述子の属性を参照してください。

表3-3 TimesTenのOCIでサポートされているハンドルおよび属性

ハンドル Cオブジェクト サポートされている属性

環境

OCIEnv

OCI_ATTR_ENV_CHARSET_ID

OCI_ATTR_ENV_NCHARSET_ID

OCI_ATTR_ENV_UTF16

OCI_ATTR_OBJECT

エラー

OCIError

OCI_ATTR_DML_ROW_OFFSET

サービス・コンテキスト

OCISvcCtx

OCI_ATTR_ENV

OCI_ATTR_IN_V8_MODE

OCI_ATTR_SERVER

OCI_ATTR_SESSION

OCI_ATTR_TRANS

OCIStmt

OCI_ATTR_BIND_COUNT

OCI_ATTR_CURRENT_POSITION

OCI_ATTR_ENV

OCI_ATTR_FETCH_ROWID

OCI_ATTR_NUM_DML_ERRORS

OCI_ATTR_PARAM_COUNT

OCI_ATTR_PREFETCH_MEMORY (「OCIを使用したクライアント/サーバーでの結果セット・バッファ・サイズの構成」を参照)

OCI_ATTR_PREFETCH_ROWS (「OCIを使用したクライアント/サーバーでの結果セット・バッファ・サイズの構成」を参照)

OCI_ATTR_ROW_COUNT

OCI_ATTR_ROWID

OCI_ATTR_ROWS_FETCHED

OCI_ATTR_SQLFNCODE

OCI_ATTR_STATEMENT

OCI_ATTR_STMT_TYPE

バインド

OCIBind

OCI_ATTR_CHARSET_FORM

OCI_ATTR_CHARSET_ID

OCI_ATTR_MAXCHAR_SIZE

OCI_ATTR_MAXDATA_SIZE

定義

OCIDefine

OCI_ATTR_CHARSET_FORM

OCI_ATTR_CHARSET_ID

OCI_ATTR_MAXCHAR_SIZE

記述

OCIDescribe

OCI_ATTR_PARAM

OCI_ATTR_PARAM_COUNT

サーバー

OCIServer

OCI_ATTR_ENV

OCI_ATTR_IN_V8_MODE

OCI_ATTR_SERVER_GROUP

OCI_ATTR_SERVER_STATUS

ユーザー・セッション

OCISession

OCI_ATTR_ACTION

OCI_ATTR_CLIENT_IDENTIFIER

OCI_ATTR_CLIENT_INFO

OCI_ATTR_CURRENT_SCHEMA

OCI_ATTR_DRIVER_NAME

OCI_ATTR_INITIAL_CLIENT_ROLES

OCI_ATTR_MODULE

OCI_ATTR_PROXY_CREDENTIALS

OCI_ATTR_USERNAME

認証

OCIAuthInfo

ユーザー・セッション・ハンドルの場合と同じです。

トランザクション

OCITrans

OCI_ATTR_TRANS_NAME

OCI_ATTR_TRANS_TIMEOUT

スレッド

OCIThreadHandle

該当なし

サポートされている記述子

TimesTenのOCIでサポートされている記述子を示します。

表3-4に、TimesTenのOCIでサポートされている記述子を示します。

表3-4 TimesTenのOCIでサポートされている記述子

記述子 Cオブジェクト

パラメータ(読取り専用)

OCIParam

ROWID

OCIRowid

ANSI DATE

OCIDateTime

TIMESTAMP

OCIDateTime

TIMESTAMP WITH TIME ZONE

OCIDateTime

TIMESTAMP WITH LOCAL TIME ZONE

OCIDateTime

INTERVAL YEAR TO MONTH

OCIInterval

INTERVAL DAY TO SECOND

OCIInterval

ユーザー・コールバック

OCIUcb

サポートされているOCI定義定数

TimesTenのOCIでサポートされているOCI定義定数、およびTimesTenのSQLデータ型へのマッピングについて説明します。

表3-5に、TimesTen OCIでサポートされるOCI定義の定数およびTimesTen SQL型へのマッピングを示します。

表3-5 TimesTenのOCIでサポートされているOCI定義定数

OCIで定義されている定数 TimesTenのSQLデータ型 ノート

SQLT_AFC

CHAR

ノートなし

SQLT_AVC

CHAR

ノートなし

SQLT_BDOUBLE

BINARY_DOUBLE

ノートなし

SQLT_BFLOAT

BINARY_FLOAT

ノートなし

SQLT_BIN

VARBINARY

ノートなし

SQLT_BLOB

BLOB

ノートなし

SQLT_CHR

VARCHAR2

ノートなし

SQLT_CLOB

CLOB

NCLOBに対する書込みおよび読取りを行うには、アプリケーション関数コールに対して文字セット・フォーム(csfrm)パラメータをSQLCS_NCHARに設定します。

SQLT_DAT

DATE

ノートなし

SQLT_DATE

DATE

ノートなし

SQLT_FLT

NUMBERBINARY_FLOAT

ノートなし

SQLT_IBDOUBLE

BINARY_DOUBLE

ノートなし

SQLT_IBFLOAT

BINARY_FLOAT

ノートなし

SQLT_INT

NUMBERTT_INTEGERTT_BIGINTTT_SMALLINTTT_TINYINT

ノートなし

SQLT_INTERVAL_DS

該当なし

TimesTenには格納されていません。

SQLT_INTERVAL_YM

該当なし

TimesTenには格納されていません。

SQLT_LBI

VARBINARY

ノートなし

SQLT_LNG

VARCHAR2

ノートなし

SQLT_LVB

VARBINARY

TimesTenに格納されるときに4MBで切り捨てられます。

SQLT_LVC

VARCHAR2

TimesTenに格納されるときに4MBで切り捨てられます。

SQLT_NUM

NUMBER

ノートなし

SQLT_ODT

DATE

ノートなし

SQLT_RDD

ROWID

ROWIDはOracle Database形式で返されます。

SQLT_RSET

該当なし

1文につき1つの結果セット・パラメータのみが許可されます。

TimesTenには格納されていません

SQLT_STR

VARCHAR2

空文字で終了します。

SQLT_TIMESTAMP

TIMESTAMP

ノートなし

SQLT_TIMESTAMP_LTZ

TIMESTAMP

TimesTenに格納されるときにタイムゾーンは無視されます。

SQLT_TIMESTAMP_TZ

TIMESTAMP

TimesTenに格納されるときにタイムゾーンは無視されます。

SQLT_UIN

NUMBERTT_INTEGERTT_BIGINTTT_SMALLINTTT_TINYINT

ノートなし

SQLT_VBI

VARBINARY

ノートなし

SQLT_VCS

VARCHAR2

ノートなし

SQLT_VNU

NUMBER

最初のバイトは数値の長さ(後続のバイトの長さ)を示します。

SQLT_VST

CHARVARCHAR2

ノートなし

サポートされているパラメータ属性

OCIDescribeAny()コールについて、サポートされているパラメータ属性を示します。

次の表3-6には、OCIDescribeAny()コールでサポートされているパラメータ属性がリストされています。

サポートされている属性については、『Oracle Call Interfaceプログラマーズ・ガイド』スキーマ・メタデータの説明を参照してください。

表3-6 TimesTenのOCIでサポートされているパラメータ属性

パラメータ サポートされている属性

すべてのパラメータ

OCI_ATTR_NUM_PARAMS

OCI_ATTR_OBJ_NAME

OCI_ATTR_OBJ_SCHEMA

OCI_ATTR_PTYPE

表およびビュー・パラメータ

OCI_ATTR_NUM_COLS

OCI_ATTR_LIST_COLUMNS

PL/SQLプロシージャおよび関数パラメータ

OCI_ATTR_LIST_ARGUMENTS

PL/SQLパッケージのサブプログラム・パラメータ

OCI_ATTR_LIST_ARGUMENTS

OCI_ATTR_NAME

PL/SQLパッケージ・パラメータ

OCI_ATTR_LIST_SUBPROGRAMS

順序パラメータ

OCI_ATTR_OBJID

OCI_ATTR_MIN

OCI_ATTR_MAX

OCI_ATTR_INCR

OCI_ATTR_CACHE

OCI_ATTR_ORDER

OCI_ATTR_HW_MARK

列パラメータ

OCI_ATTR_CHAR_USED

OCI_ATTR_CHAR_SIZE

OCI_ATTR_DATA_SIZE

OCI_ATTR_DATA_TYPE

OCI_ATTR_NAME

OCI_ATTR_PRECISION

OCI_ATTR_SCALE

OCI_ATTR_IS_NULL

OCI_ATTR_TYPE_NAME

OCI_ATTR_SCHEMA_NAME

OCI_ATTR_CHARSET_ID

OCI_ATTR_CHARSET_FORM

引数および結果パラメータ

OCI_ATTR_NAME

OCI_ATTR_POSITION

OCI_ATTR_DATA_TYPE

OCI_ATTR_DATA_SIZE

OCI_ATTR_PRECISION

OCI_ATTR_SCALE

OCI_ATTR_LEVEL

OCI_ATTR_IS_NULL

OCI_ATTR_CHARSET_ID

OCI_ATTR_CHARSET_FORM

リスト・パラメータ

OCI_LTYPE_COLUMN

OCI_LTYPE_SCH_OBJ

OCI_LTYPE_DB_SCH

データベース・パラメータ

OCI_ATTR_VERSION

OCI_ATTR_CHARSET_ID

OCI_ATTR_NCHARSET_ID

OCI_ATTR_LIST_SCHEMAS

OCI_ATTR_MAX_PROC_LEN

OCI_ATTR_MAX_COLUMN_LEN

OCI_ATTR_CURSOR_COMMIT_BEHAVIOR

OCI_ATTR_MAX_CATALOG_NAMELEN

OCI_ATTR_CATALOG_LOCATION

OCI_ATTR_SAVEPOINT_SUPPORT

OCI_ATTR_NOWAIT_SUPPORT

OCI_ATTR_AUTOCOMMIT_DDL

OCI_ATTR_LOCKING_MODE