ヘッダーをスキップ
Oracle® C++ Call Interfaceプログラマーズ・ガイド,
11
g
リリース2 (11.2)
B72452-01
索引
次
目次
例一覧
図一覧
表一覧
タイトルおよび著作権情報
はじめに
対象読者
ドキュメントのアクセシビリティについて
関連ドキュメント
表記規則
Oracle C++ Call Interfaceの新機能
Oracle Database 11
g
リリース2(11.2)における新機能
Oracle Database 11
g
リリース1(11.1)における新機能
1
OCCIの概要
OCCIの概要
OCCIの利点
OCCIアプリケーションの構築
OCCIの機能
手続き型および非手続き型要素
SQL文の処理
データ定義言語文
制御文
データ操作言語文
問合せ
PL/SQLの概要
OCCI/SQLの特殊用語
オブジェクトのサポート
クライアント側オブジェクト・キャッシュ
オブジェクト用のランタイム環境
連想アクセス用インタフェースおよびナビゲーショナル・アクセス用インタフェース
OCIとの相互運用性
メタデータ・クラス
オブジェクト型トランスレータ・ユーティリティ
追加のサポート
OCCIデモのビルド
Oracle Technology NetworkでのOCCI
2
インストールとアップグレード
Oracle C++ Call Interfaceのインストール
アップグレードに関する考慮点
Oracle Databaseバージョンの決定
コンパイル時のOracleクライアント・バージョンの決定
実行時のOracleクライアントおよびサーバーのバージョンの決定
Instant Client
Instant Clientの利点
Instant Clientのインストール
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)のインストール
Microsoft Visual C++でのOCCIの使用
3
リレーショナル・プログラミング
データベースへの接続
環境の作成と終了
接続のオープンとクローズ
接続プーリング
接続プールの使用
ステートレスな接続プーリング
データベース常駐接続プーリング
SQLのDDL文とDML文の実行
文オブジェクトの作成
SQLコマンドを実行する文オブジェクトの作成
文オブジェクトの再利用
文オブジェクトの終了
OCCI環境で使用するSQL文の種類
標準的な文
パラメータ化された文
コール可能文
ストリーム読込み/書込み
行変更の反復
SQL問合せの実行
結果セットの使用
問合せの指定
プリフェッチ・カウントの設定によるパフォーマンスの最適化
文の動的実行
文のステータスの定義
トランザクションのコミット
文キャッシュ
例外処理
NULLおよび切捨てデータの処理
4
オブジェクト・プログラミング
オブジェクト・プログラミングの概要
OCCIでのオブジェクトの操作
永続オブジェクト
一時オブジェクト
値
C++アプリケーションでのオブジェクトの表現
永続オブジェクトと一時オブジェクトの作成
OTTユーティリティによるオブジェクト表現の作成
OCCIオブジェクト・アプリケーションの開発
基本的なオブジェクト・プログラム構造
基本的なオブジェクト操作のフロー
OCCIによるC++アプリケーションの移行
連想アクセスの概要
SQLによるオブジェクトへのアクセス
値の挿入と変更
ナビゲーショナル・アクセスの概要
データベース・サーバーからのオブジェクト参照(REF)の取出し
オブジェクトの確保
オブジェクト属性の操作
オブジェクトのマークおよび変更のフラッシュ
オブジェクトへの変更済(使用済)のマーク付け
データベースへの変更の記録
オブジェクト・キャッシュでのガベージ・コレクション
参照のトランザクション一貫性の確保
複合オブジェクト検索の概要
複合オブジェクト検索
複合オブジェクトのプリフェッチ
コレクションの操作
埋込みオブジェクトのフェッチ
NULL
オブジェクト参照の使用
データベースからのオブジェクトの削除
型の継承
代用性
NOT INSTANTIABLEの型とメソッド
OCCIでの型の継承のサポート
OTTでの型の継承のサポート
サンプルOCCIアプリケーション
5
データ型
Oracleデータ型の概要
OCCI型とデータ変換
内部データ型
文字列とバイト配列
ユニバーサルROWID(UROWID)
外部データ型
外部データ型の説明
データ変換
LOBデータ型のデータ変換
日付、タイムスタンプおよび間隔データ型のデータ変換
6
メタデータ
メタデータの概要
データベース・メタデータの記述
メタデータのコード例
属性参照
パラメータ属性
表およびビューの属性
プロシージャ、ファンクションおよびサブプログラムの属性
パッケージ属性
型属性
型属性の属性
型メソッド属性
コレクション属性
シノニム属性
順序属性
列属性
引数属性および結果属性
リスト属性
スキーマ属性
データベース属性
7
LOBによるプログラミング
LOBの概要
内部LOBの概要
外部LOBの概要
LOBの格納
OCCIアプリケーションでのLOBの作成
LOBのオープンおよびクローズの制限
LOBの読込みおよび書込み
LOBの読込み
LOBの書込み
LOBの読込みおよび書込みのパフォーマンス向上
LOBの更新
複数のLOBの読込みおよび書込み
LOB属性を含むオブジェクトの使用
SecureFilesの使用
SecureFileの圧縮の使用
SecureFilesの暗号化の使用
SecureFilesの重複除外の使用
SecureFilesの圧縮、暗号化および重複除外の結合
SecureFilesのLOBの型および定数
8
オブジェクト型トランスレータ・ユーティリティ
オブジェクト型トランスレータ・ユーティリティの概要
OTTユーティリティの使用
データベースでの型の作成
OTTユーティリティの起動
OTTパラメータの指定
コマンドラインでのOTTユーティリティの起動
OTTユーティリティのパラメータ
OTTパラメータの指定可能な場所
ファイル名の比較に関する制限
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
メッセージの作成
メッセージ・ペイロード
メッセージ・プロパティ
メッセージのエンキュー
メッセージのデキュー
デキュー・オプション
メッセージのリスニング
通知を受けるための登録
パブリッシュ・サブスクライブ通知
通知コールバック
メッセージ形式の変換
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のサポート
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()
getContentType()
getOptions()
getStream()
isInitialized()
isNull()
isOpen()
length()
open()
operator=()
operator==()
operator!= ()
read()
setContentType()
setEmpty()
setNull()
setOptions()
trim()
write()
writeChunk()
Bytesクラス
Bytes()
byteAt()
getBytes()
isNull()
length()
operator=()
setNull()
Clobクラス
Clob()
append()
close()
closeStream()
copy()
getCharSetForm()
getCharSetId()
getCharSetIdUString()
getChunkSize()
getContentType()
getOptions()
getStream()
isInitialized()
isNull()
isOpen()
length()
open()
operator=()
operator==()
operator!=()
read()
setCharSetId()
setCharSetIdUString()
setCharSetForm()
setContentType()
setEmpty()
setNull()
setOptions()
trim()
write()
writeChunk()
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()
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()
setPrefetchMemorySize()
setPrefetchRowCount()
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()
索引