ヘッダーをスキップ
Oracle C++ Call Interfaceプログラマーズ・ガイド
11
g
リリース1(11.1)
E05674-02
索引
次へ
目次
例一覧
図一覧
表一覧
タイトルおよび著作権情報
はじめに
対象読者
ドキュメントのアクセシビリティについて
関連ドキュメント
表記規則
サポートおよびサービス
Oracle C++ Call Interfaceの新機能
Oracle Database 11
g
リリース1(11.1)における新機能
1
OCCIの概要
OCCIの概要
OCCIの利点
OCCIアプリケーションの構築
OCCIの機能
手続き型および非手続き型要素
SQL文の処理
DDL文
制御文
DMLのSQL文
問合せ
PL/SQLの概要
OCCI/SQLの特殊用語
オブジェクトのサポート
クライアント側オブジェクト・キャッシュ
オブジェクト用のランタイム環境
連想アクセス用インタフェースおよびナビゲーショナル・アクセス用インタフェース
メタデータ・クラス
オブジェクト型トランスレータ・ユーティリティ
2
インストールとアップグレード
Oracle C++ Call Interfaceのインストール
アップグレードに関する考慮点
Oracle Databaseバージョンの決定
コンパイル時のOracleクライアント・バージョンの決定
実行時のOracleクライアントおよびサーバーのバージョンの決定
Instant Client
Instant Clientの利点
Instant Clientのインストール
Oracle Technology Network
完全なクライアント・インストール
Oracle Universal Installer
Instant ClientのCD
Instant Clientの使用
UNIXにおけるInstant Client共有ライブラリのパッチ
データ共有ライブラリおよびzipファイルの再生成
Instant Clientのデータベース接続名
OCCI Instant Clientの環境変数
Instant Client Light (English)
Instant Client Light (English)のグローバリゼーション設定
Instant Client Light (English)の使用
Instant Client Light (English)のインストール
OTNのダウンロード・ページ
Client Admin Install
Oracle Universal Installer
Microsoft Visual C++でのOCCIの使用
3
リレーショナル・プログラミング
データベースへの接続
環境の作成と終了
接続のオープンとクローズ
接続プーリング
接続プールの使用
接続プールの作成
プロキシ接続
ステートレスな接続プーリング
データベース常駐接続プーリング
データベース常駐接続プールの管理
データベース常駐接続プールの使用
SQLのDDL文とDML文の実行
文オブジェクトの作成
SQLコマンドを実行する文オブジェクトの作成
データベース表の作成
データベース表への値の挿入
文オブジェクトの再利用
文オブジェクトの終了
OCCI環境で使用するSQL文の種類
標準的な文
パラメータ化された文
コール可能文
配列パラメータを使用するコール可能文
ストリーム読込み/書込み
ストリーム・モードでのデータのバインド(SELECT/DMLおよびPL/SQL)
ストリーム・モードでのデータのフェッチ(PL/SQL)
ストリーム・モードでのデータのフェッチ(ResultSet)
複数のストリームの使用
行変更の反復
最大反復回数の設定
最大パラメータ・サイズの設定
反復操作の実行
反復実行に関する注意
SQL問合せの実行
結果セットの使用
問合せの指定
プリフェッチ・カウントの設定によるパフォーマンスの最適化
文の動的実行
文のステータスの定義
UNPREPARED
PREPARED
RESULT_SET_AVAILABLE
UPDATE_COUNT_AVAILABLE
NEEDS_STREAM_DATA
STREAM_DATA_AVAILABLE
トランザクションのコミット
文キャッシュ
例外処理
NULLおよび切捨てデータの処理
4
オブジェクト・プログラミング
オブジェクト・プログラミングの概要
OCCIでのオブジェクトの操作
永続オブジェクト
一時オブジェクト
値
C++アプリケーションでのオブジェクトの表現
永続オブジェクトと一時オブジェクトの作成
OTTユーティリティによるオブジェクト表現の作成
OCCIオブジェクト・アプリケーションの開発
基本的なオブジェクト・プログラム構造
基本的なオブジェクト操作のフロー
オブジェクト・モードでのOCCIの初期化
オブジェクトの確保
キャッシュ内のオブジェクトの操作
オブジェクトへの変更のフラッシュ
オブジェクトの削除
OCCIによるC++アプリケーションの移行
移行のステップ
連想アクセスの概要
SQLによるオブジェクトへのアクセス
値の挿入と変更
ナビゲーショナル・アクセスの概要
データベース・サーバーからのオブジェクト参照(REF)の取出し
オブジェクトの確保
オブジェクト属性の操作
オブジェクトのマークおよび変更のフラッシュ
オブジェクトへの変更済(使用済)のマーク付け
データベースへの変更の記録
オブジェクト・キャッシュでのガベージ・コレクション
参照のトランザクション一貫性
複合オブジェクト検索の概要
複合オブジェクト検索
複合オブジェクトのプリフェッチ
コレクションの操作
埋込みオブジェクトのフェッチ
NULL
オブジェクト参照の使用
データベースからのオブジェクトの削除
型の継承
代用性
NOT INSTANTIABLEの型とメソッド
OCCIでの型の継承のサポート
Connection::getMetaData()
バインド関数および定義関数
OTTでの型の継承のサポート
サンプルOCCIアプリケーション
5
データ型
Oracleデータ型の概要
OCCI型とデータ変換
内部データ型
文字列とバイト配列
ユニバーサルROWID(UROWID)
外部データ型
外部データ型の説明
BFILE
BDOUBLE
BFLOAT
BLOB
CHAR
CHARZ
CLOB
DATE
FLOAT
INTEGER
INTERVAL DAY TO SECOND
INTERVAL YEAR TO MONTH
LONG
LONG RAW
LONG VARCHAR
LONG VARRAW
NCLOB
NUMBER
OCCI BFILE
OCCI BLOB
OCCI BYTES
OCCI CLOB
OCCI DATE
OCCI INTERVALDS
OCCI INTERVALYM
OCCI NUMBER
OCCI POBJECT
OCCI REF
OCCI REFANY
OCCI STRING
OCCI TIMESTAMP
OCCI VECTOR
RAW
REF
ROWID
STRING
TIMESTAMP
TIMESTAMP WITH LOCAL TIME ZONE
TIMESTAMP WITH TIME ZONE
UNSIGNED INT
VARCHAR
VARCHAR2
VARNUM
VARRAW
NATIVE DOUBLE
NATIVE FLOAT
データ変換
LOBデータ型のデータ変換
日付、タイムスタンプおよび間隔データ型のデータ変換
6
メタデータ
メタデータの概要
型および属性の注意
データベース・メタデータの記述
メタデータのコード例
属性参照
パラメータ属性
表およびビューの属性
プロシージャ、ファンクションおよびサブプログラムの属性
パッケージ属性
型属性
型属性の属性
型メソッド属性
コレクション属性
シノニム属性
順序属性
列属性
引数属性および結果属性
リスト属性
スキーマ属性
データベース属性
7
LOBによるプログラミング
LOBの概要
内部LOBの概要
外部LOBの概要
LOBの格納
OCCIアプリケーションでのLOBの作成
LOBのオープンおよびクローズの制限
LOBの読込みおよび書込み
LOBの読込み
LOBの書込み
LOBの読込みおよび書込みのパフォーマンス向上
getChunkSize()メソッドの使用
LOBの更新
複数のLOBの読込みおよび書込み
複数のLOBの読込みと書込みのためのインタフェースの使用方法
LOB属性を含むオブジェクトの使用
SecureFilesの使用
SecureFileの圧縮の使用
SecureFileの暗号化の使用
SecureFileの重複除外の使用
SecureFileの圧縮、暗号化および重複除外の結合
SecureFileのLOBの型および定数
8
オブジェクト型トランスレータ・ユーティリティ
オブジェクト型トランスレータ・ユーティリティの概要
OTTユーティリティの使用
データベースでの型の作成
OTTユーティリティの起動
OTTパラメータの指定
コマンドラインのパラメータの設定
INTYPEファイルのパラメータの設定
構成ファイルのパラメータの設定
コマンドラインでのOTTユーティリティの起動
OTTコマンドラインで使用する要素
OTTユーティリティのパラメータ
ATTRACCESS
CASE
CODE
CONFIG
CPPFILE
ERRTYPE
HFILE
INTYPE
MAPFILE
MAPFUNC
OUTTYPE
SCHEMA_NAMES
TRANSITIVE
UNICODE
USE_MARKER
USERID
OTTパラメータの指定可能な場所
ファイル名の比較に関する制限
INTYPEファイルの使用
INTYPEファイルの概要
INTYPEファイルの構造
INTYPEファイルの型指定
ネストされたインクルード・ファイル(#include)の生成
OTTユーティリティのデータ型マッピング
デフォルトの名前のマッピング
OUTTYPEファイルの概要
OTTユーティリティとOCCIアプリケーション
OTTユーティリティによって生成されるC++クラス
マップ・レジストリ関数
C++クラスの拡張
ユーザー追加コードの引継ぎ
OTTマーカーのプロパティ
OTTマーカーの使用
9
グローバリゼーションおよびUnicodeのサポート
グローバリゼーションおよびUnicodeのサポートの概要
キャラクタ・セットの指定
グローバリゼーションおよびUnicodeのサポートのデータ型
UStringデータ型
マルチバイトおよびUTF16データ
CLOBおよびNCLOBデータ型
オブジェクトおよびOTTサポート
10
Oracle Streams Advanced Queuing
Oracle Streams Advanced Queuingの概要
OCCIでのAQ実装
Message
Agent
Producer
Consumer
Listener
Subscription
メッセージの作成
メッセージ・ペイロード
RAW
AnyData
ユーザー定義
メッセージ・プロパティ
相関
送信者
遅延および有効期限
受信者
優先順位および順序付け
メッセージのエンキュー
メッセージのデキュー
デキュー・オプション
相関
モード
ナビゲーション
メッセージのリスニング
通知を受けるための登録
パブリッシュ・サブスクライブ通知
直接登録
オープン登録
通知コールバック
メッセージ形式の変換
11
Oracle XAライブラリ
XAおよびOCCIによるアプリケーション開発
XAサポートのためのAPI
12
OCCIアプリケーションのパフォーマンスの最適化
透過的アプリケーション・フェイルオーバー
透過的アプリケーション・フェイルオーバーの使用方法
オブジェクトと透過的アプリケーション・フェイルオーバー
接続プーリングと透過的アプリケーション・フェイルオーバー
接続の共有
スレッド・セーフティの概要
スレッド・セーフティの実装
シリアライズ
自動シリアライズ
アプリケーション対応のシリアライズ
アプリケーションによるデータ・バッファの管理
setDataBuffer()メソッド
executeArrayUpdate()メソッド
next()メソッドを使用した配列フェッチ
行変更の反復
ステートレスな接続プールのランタイム・ロード・バランシング
APIのサポート
障害診断
ADRベースの位置
ADRCIの使用
ADR作成の制御および障害診断の無効化
13
OCCI Application Program Interface(API)
OCCIのクラスとメソッド
OCCIクラスの使用
OCCIでのWindows NTおよびz/OSのサポート
Refのコレクションの操作
OCCIの共通定数
Agentクラス
Agent()
getAddress()
getName()
getProtocol()
isNull()
operator=()
setAddress()
setName()
setNull()
setProtocol()
AnyDataクラス
AnyData()
getAsBDouble()
getAsBfile()
getAsBFloat()
getAsBytes()
getAsDate()
getAsIntervalDS()
getAsIntervalYM()
getAsNumber()
getAsObject()
getAsRef()
getAsString()
getAsTimestamp()
getType()
isNull()
setFromBDouble()
setFromBfile()
setFromBFloat()
setFromBytes()
setFromDate()
setFromIntervalDS()
setFromIntervalYM()
setFromNumber()
setFromObject()
setFromRef()
setFromString()
setFromTimestamp()
setNull()
BatchSQLExceptionクラス
getException()
getFailedRowCount()
getRowNum()
Bfileクラス
Bfile()
close()
closeStream()
fileExists()
getDirAlias()
getFileName()
getStream()
getUStringDirAlias()
getUStringFileName()
isInitialized()
isNull()
isOpen()
length()
open()
operator=()
operator==()
operator!=()
read()
setName()
setNull()
Blobクラス
Blob()
append()
close()
closeStream()
copy()
getChunkSize()
getOptions()
getStream()
isInitialized()
isNull()
isOpen()
length()
open()
operator=()
operator==()
operator!= ()
read()
setEmpty()
setNull()
setOptions()
trim()
write()
writeChunk()
getPrimary()
getPrimaryOffset()
getOffset()
getLength()
getMimeType()
Bytesクラス
Bytes()
byteAt()
getBytes()
isNull()
length()
operator=()
setNull()
Clobクラス
Clob()
append()
close()
closeStream()
copy()
getCharSetForm()
getCharSetId()
getCharSetIdUString()
getChunkSize()
getOptions()
getStream()
isInitialized()
isNull()
isOpen()
length()
open()
operator=()
operator==()
operator!=()
read()
setCharSetId()
setCharSetIdUString()
setCharSetForm()
setEmpty()
setNull()
setOptions()
trim()
write()
writeChunk()
getPrimary()
getPrimaryOffset()
getOffset()
getLength()
getMimeType()
Connectionクラス
changePassword()
commit()
createStatement()
flushCache()
getClientCharSet()
getClientCharSetUString()
getClientNCHARCharSet()
getClientNCHARCharSetUString()
getClientVersion()
getMetaData()
getOCIServer()
getOCIServiceContext()
getOCISession()
getServerVersion()
getServerVersionUString()
getStmtCacheSize()
getTag()
isCached()
pinVectorOfRefs()
postToSubscriptions()
readVectorOfBfiles()
readVectorOfBlobs()
readVectorOfClobs()
registerSubscriptions()
rollback()
setCollectionAccessMode()
setStmtCacheSize()
setTAFNotify()
terminateStatement()
unregisterSubscription()
writeVectorOfBlobs()
writeVectorOfClobs()
ConnectionPoolクラス
createConnection()
createProxyConnection()
getBusyConnections()
getIncrConnections()
getMaxConnections()
getMinConnections()
getOpenConnections()
getPoolName()
getStmtCacheSize()
getTimeOut()
setErrorOnBusy()
setPoolSize()
setStmtCacheSize()
setTimeOut()
terminateConnection()
Consumerクラス
Consumer()
getConsumerName()
getCorrelationId()
getDequeueMode()
getMessageIdToDequeue()
getPositionOfMessage()
getQueueName()
getTransformation()
getVisibility()
getWaitTime()
isNull()
operator=()
receive()
setAgent()
setConsumerName()
setCorrelationId()
setDequeueMode()
setMessageIdToDequeue()
setNull()
setPositionOfMessage()
setQueueName()
setTransformation()
setVisibility()
setWaitTime()
Dateクラス
Date()
addDays()
addMonths()
daysBetween()
fromBytes()
fromText()
getDate()
getSystemDate()
isNull()
lastDay()
nextDay()
operator=()
operator==()
operator!=()
operator>()
operator>=()
operator<()
operator<=()
setDate()
setNull()
toBytes()
toText()
toZone()
Environmentクラス
createConnection()
createConnectionPool()
createEnvironment()
createStatelessConnectionPool()
enableSubscription()
disableSubscription()
getCacheMaxSize()
getCacheOptSize()
getCacheSortedFlush()
getCurrentHeapSize()
getLDAPAdminContext()
getLDAPAuthentication()
getLDAPHost()
getLDAPPort()
getMap()
getOCIEnvironment()
getXAConnection()
getXAEnvironment()
releaseXAConnection()
releaseXAEnvironment()
setCacheMaxSize()
setCacheOptSize()
setCacheSortedFlush()
setLDAPAdminContext()
setLDAPAuthentication()
setLDAPHostAndPort()
setLDAPLoginNameAndPassword()
terminateConnection()
terminateConnectionPool()
terminateEnvironment()
terminateStatelessConnectionPool()
IntervalDSクラス
IntervalDS()
fromText()
fromUText()
getDay()
getFracSec()
getHour()
getMinute()
getSecond()
isNull()
operator*()
operator*=()
operator=()
operator==()
operator!=()
operator/()
operator/=()
operator>()
operator>=()
operator<()
operator<=()
operator-()
operator
-=
()
operator+()
operator+=()
set()
setNull()
toText()
toUText()
IntervalYMクラス
IntervalYM()
fromText()
fromUText()
getMonth()
getYear()
isNull()
operator*()
operator*=()
operator=()
operator==()
operator!=()
operator/()
operator/=()
operator>()
operator>=()
operator<()
operator<=()
operator-()
operator
-=
()
operator+()
operator+=()
set()
setNull()
toText()
toUText()
Listenerクラス
Listener()
getAgentList()
getTimeOutForListen()
listen()
setAgentList()
setTimeOutForListen()
Mapクラス
put()
Messageクラス
Message()
getAnyData()
getAttemptsToDequeue()
getBytes()
getCorrelationId()
getDelay()
getExceptionQueueName()
getExpiration()
getMessageEnqueuedTime()
getMessageState()
getObject()
getOriginalMessageId()
getPayloadType()
getPriority()
getSenderId()
isNull()
operator=()
setAnyData()
setBytes()
setCorrelationId()
setDelay()
setExceptionQueueName()
setExpiration()
setNull()
setObject()
setOriginalMessageId()
setPriority()
setRecipientList()
setSenderId()
MetaDataクラス
MetaData()
getAttributeCount()
getAttributeId()
getAttributeType()
getBoolean()
getInt()
getMetaData()
getNumber()
getRef()
getString()
getTimeStamp()
getUInt()
getUString()
getVector()
operator=()
NotifyResultクラス
getConsumerName()
getMessage()
getMessageId()
getPayload()
getQueueName()
Numberクラス
Number()
abs()
arcCos()
arcSin()
arcTan()
arcTan2()
ceil()
cos()
exp()
floor()
fromBytes()
fromText()
hypCos()
hypSin()
hypTan()
intPower()
isNull()
ln()
log()
operator++()
operator
--
()
operator*()
operator/()
operator%()
operator+()
operator-()
operator-()
operator<()
operator<=()
operator>()
operator>=()
operator==()
operator!=()
operator=()
operator*=()
operator/=()
operator%=()
operator+=()
operator
-=
()
operator char()
operator signed char()
operator double()
operator float()
operator int()
operator long()
operator long double()
operator short()
operator unsigned char()
operator unsigned int()
operator unsigned long()
operator unsigned short()
power()
prec()
round()
setNull()
shift()
sign()
sin()
squareroot()
tan()
toBytes()
toText()
trunc()
PObjectクラス
PObject()
flush()
getConnection()
getRef()
getSQLTypeName()
isLocked()
isNull()
lock()
markDelete()
markModified()
operator=()
operator delete()
operator new()
pin()
setNull()
unmark()
unpin()
Producerクラス
Producer()
getQueueName()
getRelativeMessageId()
getSequenceDeviation()
getTransformation()
getVisibility()
isNull()
operator=()
send()
setNull()
setQueueName()
setRelativeMessageId()
setSequenceDeviation()
setTransformation()
setVisibility()
Refクラス
Ref()
clear()
getConnection()
isClear()
isNull()
markDelete()
operator->()
operator*()
operator==()
operator!=()
operator=()
ptr()
setLock()
setNull()
setPrefetch()
unmarkDelete()
RefAnyクラス
RefAny()
clear()
getConnection()
isNull()
markDelete()
operator=()
operator==()
operator!=()
unmarkDelete()
ResultSetクラス
cancel()
closeStream()
getBDouble()
getBfile()
getBFloat()
getBlob()
getBytes()
getCharSet()
getCharSetUString()
getClob()
getColumnListMetaData()
getCurrentStreamColumn()
getCurrentStreamRow()
getCursor()
getDatabaseNCHARParam()
getDate()
getDouble()
getFloat()
getInt()
getIntervalDS()
getIntervalYM()
getMaxColumnSize()
getNumArrayRows()
getNumber()
getObject()
getRef()
getRowid()
getRowPosition()
getStatement()
getStream()
getString()
getTimestamp()
getUInt()
getUString()
getVector()
getVectorOfRefs()
isNull()
isTruncated()
next()
preTruncationLength()
setBinaryStreamMode()
setCharacterStreamMode()
setCharSet()
setCharSetUString()
setDatabaseNCHARParam()
setDataBuffer()
setErrorOnNull()
setErrorOnTruncate()
setMaxColumnSize()
status()
SQLExceptionクラス
SQLException()
getErrorCode()
getMessage()
getNLSMessage()
getNLSUStringMessage()
getUStringMessage()
getXAErrorCode()
setErrorCtx()
what()
StatelessConnectionPoolクラス
getAnyTaggedConnection()
getAnyTaggedProxyConnection()
getBusyConnections()
getBusyOption()
getConnection()
getIncrConnections()
getMaxConnections()
getMinConnections()
getOpenConnections()
getPoolName()
getProxyConnection()
getStmtCacheSize()
getTimeOut()
releaseConnection()
setBusyOption()
setPoolSize()
setTimeOut()
setStmtCacheSize()
terminateConnection()
Statementクラス
addIteration()
closeResultSet()
closeStream()
disableCaching()
execute()
executeArrayUpdate()
executeQuery()
executeUpdate()
getAutoCommit()
getBatchErrorMode()
getBDouble()
getBfile()
getBFloat()
getBlob()
getBytes()
getCharSet()
getCharSetUString()
getClob()
getConnection()
getCurrentIteration()
getCurrentStreamIteration()
getCurrentStreamParam()
getCursor()
getDatabaseNCHARParam()
getDate()
getDouble()
getFloat()
getInt()
getIntervalDS()
getIntervalYM()
getMaxIterations()
getMaxParamSize()
getNumber()
getObject()
getOCIStatement()
getRef()
getResultSet()
getRowid()
getSQL()
getSQLUString()
getStream()
getString()
getTimestamp()
getUInt()
getUpdateCount()
getUString()
getVector()
getVectorOfRefs()
isNull()
isTruncated()
preTruncationLength()
registerOutParam()
setAutoCommit()
setBatchErrorMode()
setBDouble()
setBfile()
setBFloat()
setBinaryStreamMode()
setBlob()
setBytes()
setCharacterStreamMode()
setCharSet()
setCharSetUString()
setClob()
setDate()
setDatabaseNCHARParam()
setDataBuffer()
setDataBufferArray()
setDouble()
setErrorOnNull()
setErrorOnTruncate()
setFloat()
setInt()
setIntervalDS()
setIntervalYM()
setMaxIterations()
setMaxParamSize()
setNull()
setNumber()
setObject()
setPrefetchMemorySize()
setPrefetchRowCount()
setRef()
setRowid()
setSQL()
setSQLUString()
setString()
setTimestamp()
setUInt()
setUString()
setVector()
setVectorOfRefs()
status()
Streamクラス
readBuffer()
readLastBuffer()
writeBuffer()
writeLastBuffer()
status()
Subscriptionクラス
Subscription()
getCallbackContext()
getDatabaseServersCount()
getDatabaseServerNames()
getNotifyCallback()
getPayload()
getSubscriptionName()
getSubscriptionNamespace()
getRecipientName()
getPresentation()
getProtocol()
isNull()
operator=()
setCallbackContext()
setDatabaseServerNames()
setNotifyCallback()
setNull()
setPayload()
setPresentation()
setProtocol()
setSubscriptionName()
setSubscriptionNamespace()
setRecipientName()
Timestampクラス
Timestamp()
fromText()
getDate()
getTime()
getTimeZoneOffset()
intervalAdd()
intervalSub()
isNull()
operator=()
operator==()
operator!=()
operator>()
operator>=()
operator<()
operator<=()
setDate()
setNull()
setTime()
setTimeZoneOffset()
subDS()
subYM()
toText()
索引