プライマリ・コンテンツに移動
Oracle® C++ Call Interfaceプログラマーズ・ガイド
12c リリース1 (12.1)
B72464-02
  目次へ移動
目次
索引へ移動
索引

前
 
次
 

Environmentクラス

Environmentクラスは、OCCIオブジェクトのメモリーやその他のリソースを管理するためのOCCI環境を提供します。

アプリケーションは複数のOCCI環境を保持できます。各環境ごとに、独自のヒープやスレッド・セーフティmutexを持つことができます。

表13-17 Environmentクラスで使用される列挙値

属性 オプション
Mode
  • DEFAULTは、Environmentオブジェクトの作成に使用されます。スレッド・セーフティやオブジェクトはサポートしません。

  • OBJECTは、Environmentオブジェクトの作成用です。オブジェクト機能を使用します。

  • NO_USERCALLBACKSは、Environmentオブジェクトの作成用です。ユーザー・コールバックはサポートしません。

  • THREADED_MUTEXEDは、Environmentオブジェクト作成用のスレッド・セーフ・モードです。OCCIにより内部的にmutex化されます。

  • THREADED_UNMUTEXEDは、Environmentオブジェクト作成用のスレッド・セーフ・モードです。クライアントがmutex化を受け持ちます。

  • EVENTSは、Oracle Streams Advanced Queuingで使用されるイベント通知の登録をサポートします。

  • USE_LDAPは、LDAPによる登録をサポートします。


表13-18 Environmentメソッドの概要

メソッド 概要

createConnection()


指定したデータベースへの接続を確立します。

createConnectionPool()

接続プールを作成します。

createEnvironment()

Environmentオブジェクトを作成します。

createStatelessConnectionPool()

ステートレスな接続プールを作成します。

enableSubscription()


サブスクリプション通知を有効化します。

disableSubscription()


サブスクリプション通知を無効化します。

getCacheMaxSize()


キャッシュの最大ヒープ・サイズを取り出します。

getCacheOptSize()


キャッシュの最適ヒープ・サイズを取り出します。

getCacheSortedFlush()


キャッシュ・ソート・フラグの設定を取り出します。

getClientVersion()


クライアント・ライブラリのバージョンを戻します。

getCurrentHeapSize()


現行の環境にあるすべてのオブジェクトに現在割り当てられているメモリー・サイズを戻します。

getLDAPAdminContext()


LDAPのオープン通知登録を使用する場合の管理コンテキストを戻します。

getLDAPAuthentication()


LDAPのオープン通知登録を使用する場合の認証モードを戻します。

getLDAPHost()


LDAPサーバーが稼働しているホストを戻します。

getLDAPPort()


LDAPサーバーがリスニングしているポートを戻します。

getMap()()

現行の環境のマップを戻します。

getNLSLanguage()


現行の環境のNLS言語を戻します。

getNLSTerritory()


現行の環境のNLS地域を戻します。

getOCIEnvironment()


現行の環境に関連付けられているOCI環境を戻します。

getXAConnection()


データベースへのXA接続を作成します。

getXAEnvironment()


XA Environmentオブジェクトを作成します。

releaseXAConnection()


getXAConnection()のコールにより割り当てられたリソースをすべて解放します。

releaseXAEnvironment()


getXAEnvironment()のコールにより割り当てられたリソースをすべて解放します。

setCacheMaxSize()


クライアント側オブジェクト・キャッシュの最大サイズを、最適サイズの率として指定します。

setCacheOptSize()


クライアント側オブジェクト・キャッシュの最適サイズをバイト単位で指定します。

setCacheSortedFlush()


フラッシュする前に表の順序でキャッシュをソートするかどうかを指定します。

setLDAPAdminContext()


LDAPクライアントの管理コンテキストを指定します。

setLDAPAuthentication()


LDAPの認証モードを指定します。

setLDAPHostAndPort()


LDAPサーバーのホストとポートを指定します。

setLDAPLoginNameAndPassword()


LDAPサーバーへの接続時のログイン名とパスワードを指定します。

setNLSLanguage()


現行の環境のNLS言語を指定します。

setNLSTerritory()

現行の環境のNLS地域を指定します。

terminateConnection()


接続プールをクローズし、関連しているすべてのリソースを解放します。

terminateConnectionPool()


接続プールをクローズし、関連しているすべてのリソースを解放します。

terminateEnvironment()


環境を破棄します。

terminateStatelessConnectionPool()


ステートレスな接続プールをクローズし、関連しているすべてのリソースを解放します。


createConnection()

このメソッドは、指定したデータベースへの接続を確立します。

構文 説明
Connection * createConnection(
   const string &userName,
   const string &password,
   const string &connectString="")=0;
デフォルト接続を作成します。userNamepasswordNULLの場合、接続は外部認証できます。
Connection * createConnection(
   const UString &userName,
   const UString &password,
   const UString &connectString)=0;
接続を作成します(Unicodeサポート)。クライアントのEnvironmentOCCIUTIF16モードで初期化する必要があります。
Connection * createConnection(
   const string &userName,
   const string &password,
   const string &connectString,
   const string &connectionClass,
   const Connection::Purity &purity)=0;
データベース常駐接続プーリングの接続を作成します。
Connection * createConnection(
   const UString &userName,
   const UString &password,
   const UString &connectString,
   const UString &connectionClass
   const Connection::Purity &purity)=0;
データベース常駐接続プーリングの接続を作成します(Unicodeサポート)。クライアントのEnvironmentOCCIUTIF16モードで初期化する必要があります。

パラメータ 説明
userName
接続に使用するユーザー名を指定します。
password
ユーザーのパスワードを指定します。
connectString
接続先データベースを指定します。
purity
データベース常駐接続プーリングで使用される接続の純正値を指定します。SELFまたはNEWのいずれかとなります。
connectionClass
データベース常駐接続プーリングで使用されるConnectionクラスを指定します。

createConnectionPool()

指定したパラメータに基づいて接続プールを作成します。

構文 説明
ConnectionPool* createConnectionPool(
   const string &poolUserName,
   const string &poolPassword,
   const string &connectString = "",
   unsigned int minConn = 0,
   unsigned int maxConn = 1,
   unsigned int incrConn = 1)=0;
デフォルト接続プールを作成します。
ConnectionPool* createConnectionPool(
   const UString &poolUserName,
   const UString &poolPassword,
   const UString &connectString,
   unsigned int minConn = 0,
   unsigned int maxConn = 1,
   unsigned int incrConn = 1)=0;
接続プールを作成します(Unicodeサポート)。クライアントのEnvironmentOCCIUTIF16モードで初期化する必要があります。

パラメータ 説明
poolUserName
プールのユーザー名を指定します。
poolPassword
プールのパスワードを指定します。
connectString
サーバーの接続文字列を指定します。
minConn
プール内の最小接続数を指定します。このメソッドによって、この最小数の接続がオープンします。追加の接続は、必要な場合のみオープンします。通常、minConnは、アプリケーションで予定している同時実行文の数に設定する必要があります。
maxConn
プール内の最大接続数を指定します。有効な値は、1以上です。
incrConn
現行の接続数がmaxConnより少ない場合に、オープンする接続の増分数を指定します。有効な値は、1以上です。

createEnvironment()

Environmentオブジェクトを作成します。このオブジェクトは、setMemMgrFunctions()メソッドに指定されているメモリー管理関数を使用して作成されます。メモリー管理関数が指定されていない場合、OCCIはデフォルトの関数を使用します。最終的には、Environmentオブジェクトをクローズし、取得したシステム・リソースをすべて解放する必要があります。

指定したModeTHREADED_MUTEXEDまたはTHREADED_UNMUTEXEDの場合、3種類のメモリー管理関数はすべてスレッド・セーフであることが必要です(表13-17の定義を参照)。

構文 説明
static Environment * createEnvironment(
   Mode mode = DEFAULT,
   void *ctxp = 0,
   void *(*malocfp)(void *ctxp,
                    size_t size) = 0,
   void *(*ralocfp)(void *ctxp, 
                    void *memptr,
                    size_t newsize) = 0,
   void (*mfreefp)(void *ctxp,
                   void *memptr) = 0);
デフォルト環境を作成します。
static Environment * createEnvironment(
   const string &charset,
   const string &ncharset,
   Mode mode = DEFAULT,
   void *ctxp = 0,
   void *(*malocfp)(void *ctxp,
                    size_t size) = 0,
   void *(*ralocfp)(void *ctxp, 
                    void *memptr,
                    size_t newsize) = 0,
   void (*mfreefp)(void *ctxp,
                   void *memptr) = 0);
指定したキャラクタ・セットIDとNCHARキャラクタ・セットIDを使用して環境を作成します(Unicodeサポート)。クライアントのEnvironmentOCCIUTIF16モードで初期化する必要があります。

パラメータ 説明
mode
値はModeの一部として表13-17に定義されているDEFAULTTHREADED_MUTEXEDTHREADED_UNMUTEXEDOBJECTです。
ctxp
ユーザー定義のメモリー管理関数のためのコンテキスト・ポインタを指定します。
size
ユーザー定義のメモリー割当て関数によって割り当てられるメモリーのサイズを指定します。
newsize
再割当てされるメモリーの新規サイズを指定します。
memptr
新規サイズに再割当てする必要のある既存のメモリーを指定します。
malocfp
ユーザー定義のメモリー割当て関数を指定します。
ralocfp
ユーザー定義のメモリー再割当て関数を指定します。
mfreefp
ユーザー定義のメモリー解放関数を指定します。
charset
NLS_LANGで指定したIDで置き換えるキャラクタ・セットIDを指定します。
ncharset
NLS_NCHARで指定したIDで置き換えるキャラクタ・セットIDを指定します。

createStatelessConnectionPool()

指定したプール属性を使用してStatelessConnectionPoolオブジェクトを作成します。

構文 説明
StatelessConnectionPool* createStatelessConnectionPool(
   const string &poolUserName,
   const string &poolPassword,
   const string connectString="",
   unsigned int maxConn=1,
   unsigned int minConn=0,
   unsigned int incrConn=1,
   StatelessConnectionPool::PoolType
      pType=StatelessConnectionPool::HETEROGENEOUS);
stringをサポートする場合です。
StatelessConnectionPool* createStatelessConnectionPool(
   const UString &poolUserName,
   const UString &poolPassword,
   const UString &connectString,
   unsigned int maxConn = 1,
   unsigned int minConn = 0,
   unsigned int incrConn = 1,
   StatelessConnectionPool::PoolType 
   pType=StatelessConnectionPool::HETEROGENEOUS);
UStringをサポートする場合です。

パラメータ 説明
poolUserName
プールのユーザー名を指定します。
poolPassword
プールのパスワードを指定します。
connectString
サーバーの接続文字列を指定します。
maxConn
プール内でオープンできる最大接続数を指定します。それ以上はセッションをオープンできません。
minConn
プール内で最初に作成される接続の数を指定します。このパラメータが考慮されるのは、PoolTypeHOMOGENEOUSに設定されている場合のみです(表13-41の定義を参照)。
incrConn
すべてのオープン接続がビジーの場合にプールの増分となる接続数を、maxConnパラメータで指定した最大オープン接続数の範囲内で指定します。このパラメータが考慮されるのは、PoolTypeHOMOGENEOUSに設定されている場合のみです(表13-41の定義を参照)。
pType
接続プールのPoolTypeは、表13-41の定義を参照してください。

enableSubscription()

サブスクリプション通知を有効化します。

構文

void enableSubscription(
   const aq::Subscription &sub);
パラメータ 説明
sub
サブスクリプションを指定します。

disableSubscription()

サブスクリプション通知を無効化します。

構文

void disableSubscription(
   Subscription &subscr);
パラメータ 説明
subscr
サブスクリプションを指定します。

getCacheMaxSize()

キャッシュの最大サイズを取得します。

構文

unsigned int getCacheMaxSize() const;

getCacheOptSize()

キャッシュの最適ヒープ・サイズを取り出します。

構文

unsigned int getCacheOptSize() const;

getCacheSortedFlush()

キャッシュ・ソート・フラグの現在の設定(TRUEまたはFALSE)を取り出します。

構文

bool getCacheSortedFlush() const;

getCurrentHeapSize()

この環境のすべてのオブジェクトに現在割り当てられているメモリー・サイズを戻します。

構文

unsigned int getCurrentHeapSize() const;

getLDAPAdminContext()

LDAPのオープン通知登録を使用する場合の管理コンテキストを戻します。

構文

string getLDAPAdminContext() const;

getLDAPAuthentication()

LDAPのオープン通知登録を使用する場合の認証モードを戻します。

構文

unsigned int getLDAPAuthentication() const;

getLDAPHost()

LDAPサーバーが稼働しているホストを戻します。

構文

string getLDAPHost() const;
 

getLDAPPort()

LDAPサーバーがリスニングしているポートを戻します。

構文

unsigned int getLDAPPort() const;

getMap()

この環境のマップへのポインタを戻します。

構文

Map *getMap() const;

getNLSLanguage()

現行の環境のNLS言語を戻します。

構文

string getNLSLanguage() const;

getNLSTerritory()

現行の環境のNLS地域を戻します。

構文

string getNLSTerritory() const;

getOCIEnvironment()

この環境に関連付けられているOCI環境へのポインタを戻します。

構文

OCIEnv *getOCIEnvironment() const;

getXAConnection()

XAライブラリによりオープンされている、オブジェクトに対応するOCCI Connectionオブジェクトへのポインタを戻します。

構文

Connection* getXAConnection(
   const string &dbname);
パラメータ 説明
dbname
データベース名を指定します。このデータベース名は、Open Stringに指定された(およびリソース・マネージャへの接続に使用される)オプションのdbnameと同じです。

getXAEnvironment()

XAライブラリによりオープンされているオブジェクトに対応するOCCI Environmentオブジェクトへのポインタを戻します。

構文

Environment *getXAEnvironment(
   const string &dbname);
パラメータ 説明
dbname
データベース名を指定します。このデータベース名は、Open Stringに指定された(およびリソース・マネージャへの接続に使用される)オプションのdbnameと同じです。

releaseXAConnection()

getXAConnection()メソッドにより割り当てられたリソースをすべて解放/割当て解除します。

構文

void releaseXAConnection(
   Connection* conn);
パラメータ 説明
conn
getXAConnection()メソッドから戻された接続を指定します。

releaseXAEnvironment()

getXAEnvironment()メソッドにより割り当てられたリソースをすべて解放/割当て解除します。

構文

void releaseXAEnvironment(
   Environment* env);
パラメータ 説明
env
getXAEnvironment()メソッドから戻された環境を指定します。

setCacheMaxSize()

クライアント側オブジェクト・キャッシュの最大サイズを、最適サイズの率として設定します。デフォルト値は10%です。

構文

void setCacheMaxSize(
   unsigned int maxSize);
パラメータ 説明
maxSize
最大サイズ値を率として指定します。

setCacheOptSize()

クライアント側オブジェクト・キャッシュの最適サイズをバイト単位で設定します。デフォルト値は8MBです。

構文

void setCacheOptSize(
   unsigned int optSize);
パラメータ 説明
optSize
最適サイズ値をバイト単位で指定します。

setCacheSortedFlush()

キャッシュ・フラッシング・プロトコルを設定します。デフォルト(flag=FALSE)では、キャッシュ内のオブジェクトは修正順にフラッシュされます。サーバー側の性能を向上するには、flag=TRUEに設定します。それにより、キャッシュ内のオブジェクトはクライアント・キャッシュからフラッシュされる前に表の順にソートされます。

構文

void setCacheSortedFlush(
   bool flag);
パラメータ 説明
flag
FALSE (デフォルト): ソートされません。TRUE: 表の順にソートされます。

setLDAPAdminContext()

クライアントの管理コンテキストを設定します。通常は、LDAPサーバーのOracle RDBMS LDAPスキーマのルートです。

構文

void setLDAPAdminContext(
   const string &ctx);
パラメータ 説明
ctx
クライアントのコンテキストを指定します。

setLDAPAuthentication()

認証モードを指定します。現在サポートされている値は0x1、つまり簡易認証(ユーザー名/パスワード認証)のみです。

構文

void setLDAPAuthentication(
   unsigned int mode);
パラメータ 説明
mode
認証モードを指定します。

setLDAPHostAndPort()

LDAPサーバーが稼働しているホストと、要求をリスニングしているポートを指定します。

構文

void setLDAPHostAndPort(
   const string &host,
   unsigned int port);
パラメータ 説明
host
LDAPのホストを指定します。
port
LDAPのポートを指定します。

setLDAPLoginNameAndPassword()

LDAPサーバーへの接続時に使用するログイン識別名とパスワードを指定します。

構文

void setLDAPLoginNameAndPassword(
   const string &login,
   const &passwd);
パラメータ 説明
login
ログイン名を指定します。
passwd
ログイン・パスワードを指定します。

setNLSLanguage()

現行の環境のNLS言語を指定します。この設定は、このメソッドのコール後に作成された接続に対して有効です。この設定は、プロセスの環境変数NLS_LANGを介して設定された値をオーバーライドします。

構文

void setNLSLanguage(
   const string &lang);
パラメータ 説明
lang
現行の環境の言語

setNLSTerritory()

現行の環境のNLS地域を指定します。この設定は、このメソッドのコール後に作成された接続に対して有効です。この設定は、プロセスの環境変数NLS_LANGを介して設定された値をオーバーライドします。

構文

void setNLSTerritory(
   const string &Terr);
パラメータ 説明
Terr
現行の環境の地域

terminateConnection()

環境への接続をクローズし、関連しているすべてのシステム・リソースを解放します。

構文

void terminateConnection(
   Connection *connection);
パラメータ 説明
connection
終了する接続インスタンスへのポインタを指定します。

terminateConnectionPool()

接続プールの接続をクローズし、関連しているすべてのシステム・リソースを解放します。

構文

void terminateConnectionPool(
   ConnectionPool *poolPointer);
パラメータ 説明
poolPointer
終了する接続プール・インスタンスへのポインタを指定します。

terminateEnvironment()

環境をクローズし、関連しているすべてのシステム・リソースを解放します。

構文

void terminateEnvironment(
   Environment *env);
パラメータ 説明
env
クローズする環境を指定します。

terminateStatelessConnectionPool()

指定したStatelessConnectionPoolを破棄します。

構文

void termimnateStatelessConnectionPool(
   StatelessConnectionPool* poolPointer,
   StatelessConnectionPool::DestroyMode mode=StatelessConnectionPool::DEFAULT);
パラメータ 説明
poolPointer
破棄するStatelessConnectionPoolを指定します。
mode 表13-41に定義されているDestroyMode (DEFAULTまたはSPF_FORCE)を指定します。