Environmentクラスは、OCCIオブジェクトのメモリーやその他のリソースを管理するためのOCCI環境を提供します。
アプリケーションは複数のOCCI環境を保持できます。各環境ごとに、独自のヒープやスレッド・セーフティmutexを持つことができます。
表13-17 Environmentクラスで使用される列挙値
属性 | オプション |
---|---|
Mode |
|
メソッド | 概要 |
---|---|
|
指定したデータベースへの接続を確立します。 |
接続プールを作成します。 |
|
|
|
ステートレスな接続プールを作成します。 |
|
|
サブスクリプション通知を有効化します。 |
|
サブスクリプション通知を無効化します。 |
|
キャッシュの最大ヒープ・サイズを取り出します。 |
|
キャッシュの最適ヒープ・サイズを取り出します。 |
|
キャッシュ・ソート・フラグの設定を取り出します。 |
|
クライアント・ライブラリのバージョンを戻します。 |
|
現行の環境にあるすべてのオブジェクトに現在割り当てられているメモリー・サイズを戻します。 |
|
LDAPのオープン通知登録を使用する場合の管理コンテキストを戻します。 |
|
LDAPのオープン通知登録を使用する場合の認証モードを戻します。 |
|
LDAPサーバーが稼働しているホストを戻します。 |
|
LDAPサーバーがリスニングしているポートを戻します。 |
現行の環境のマップを戻します。 |
|
|
現行の環境に関連付けられているOCI環境を戻します。 |
|
データベースへのXA接続を作成します。 |
|
XA |
|
getXAConnection()のコールにより割り当てられたリソースをすべて解放します。 |
|
getXAEnvironment()のコールにより割り当てられたリソースをすべて解放します。 |
|
クライアント側オブジェクト・キャッシュの最大サイズを、最適サイズの率として指定します。 |
|
クライアント側オブジェクト・キャッシュの最適サイズをバイト単位で指定します。 |
|
フラッシュする前に表の順序でキャッシュをソートするかどうかを指定します。 |
|
LDAPクライアントの管理コンテキストを指定します。 |
|
LDAPの認証モードを指定します。 |
|
LDAPサーバーのホストとポートを指定します。 |
|
LDAPサーバーへの接続時のログイン名とパスワードを指定します。 |
|
環境への接続をクローズし、関連しているすべてのリソースを解放します。 |
|
接続プールをクローズし、関連しているすべてのリソースを解放します。 |
|
環境を破棄します。 |
terminateStatelessConnectionPool() |
ステートレスな接続プールをクローズし、関連しているすべてのリソースを解放します。 |
このメソッドは、指定したデータベースへの接続を確立します。
構文 | 説明 |
---|---|
Connection * createConnection( const string &userName, const string &password, const string &connectString="")=0; |
デフォルト接続を作成します。 |
Connection * createConnection( const UString &userName, const UString &password, const UString &connectString)=0; |
接続を作成します(Unicodeサポート)。クライアントのEnvironment をOCCIUTIF16 モードで初期化する必要があります。 |
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サポート)。クライアントのEnvironment をOCCIUTIF16 モードで初期化する必要があります。 |
パラメータ | 説明 |
---|---|
userName |
接続に使用するユーザー名を指定します。 |
password |
ユーザーのパスワードを指定します。 |
connectString |
接続先データベースを指定します。 |
purity |
データベース常駐接続プーリングで使用される接続の純正値を指定します。SELF またはNEW のいずれかとなります。 |
connectionClass |
データベース常駐接続プーリングで使用されるConnectionクラスを指定します。 |
指定したパラメータに基づいて接続プールを作成します。
構文 | 説明 |
---|---|
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サポート)。クライアントのEnvironment をOCCIUTIF16 モードで初期化する必要があります。 |
パラメータ | 説明 |
---|---|
poolUserName |
プールのユーザー名を指定します。 |
poolPassword |
プールのパスワードを指定します。 |
connectString |
サーバーの接続文字列を指定します。 |
minConn |
プール内の最小接続数を指定します。このメソッドによって、この最小数の接続がオープンします。追加の接続は、必要な場合のみオープンします。通常、minConn は、アプリケーションで予定している同時実行文の数に設定する必要があります。 |
maxConn |
プール内の最大接続数を指定します。有効な値は、1以上です。 |
incrConn |
現行の接続数がmaxConn より少ない場合に、オープンする接続の増分数を指定します。有効な値は、1以上です。 |
Environment
オブジェクトを作成します。このオブジェクトは、setMemMgrFunctions()
メソッドに指定されているメモリー管理関数を使用して作成されます。メモリー管理関数が指定されていない場合、OCCIはデフォルトの関数を使用します。最終的には、Environment
オブジェクトをクローズし、取得したシステム・リソースをすべて解放する必要があります。
指定したMode
がTHREADED_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サポート)。クライアントのEnvironment をOCCIUTIF16 モードで初期化する必要があります。 |
パラメータ | 説明 |
---|---|
mode |
値はMode の一部として表13-17に定義されているDEFAULT 、THREADED_MUTEXED 、THREADED_UNMUTEXED 、OBJECT です。 |
ctxp |
ユーザー定義のメモリー管理関数のためのコンテキスト・ポインタを指定します。 |
size |
ユーザー定義のメモリー割当て関数によって割り当てられるメモリーのサイズを指定します。 |
newsize |
再割当てされるメモリーの新規サイズを指定します。 |
memptr |
新規サイズに再割当てするために必要な既存のメモリーを指定します。 |
malocfp |
ユーザー定義のメモリー割当て関数を指定します。 |
ralocfp |
ユーザー定義のメモリー再割当て関数を指定します。 |
|
ユーザー定義のメモリー解放関数を指定します。 |
|
NLS_LANG で指定したIDで置き換えるキャラクタ・セットIDを指定します。 |
|
NLS_NCHAR で指定したIDで置き換えるキャラクタ・セットIDを指定します。 |
指定したプール属性を使用して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 |
プール内で最初に作成される接続の数を指定します。このパラメータが考慮されるのは、PoolType がHOMOGENEOUS に設定されている場合のみです(表13-40の定義を参照)。 |
incrConn |
すべてのオープン接続がビジーの場合にプールの増分となる接続数を、maxConn パラメータで指定した最大オープン接続数の範囲内で指定します。このパラメータが考慮されるのは、PoolType がHOMOGENEOUS に設定されている場合のみです(表13-40の定義を参照)。 |
pType |
接続プールのPoolType は、表13-40の定義を参照してください。 |
サブスクリプション通知を有効化します。
構文
void enableSubscription( const aq::Subscription &sub);
パラメータ | 説明 |
---|---|
sub |
サブスクリプションを指定します。 |
サブスクリプション通知を無効化します。
構文
void disableSubscription( Subscription &subscr);
パラメータ | 説明 |
---|---|
subscr |
サブスクリプションを指定します。 |
キャッシュの最大サイズを取得します。
構文
unsigned int getCacheMaxSize() const;
キャッシュの最適ヒープ・サイズを取り出します。
構文
unsigned int getCacheOptSize() const;
キャッシュ・ソート・フラグの現在の設定(TRUE
またはFALSE
)を取り出します。
構文
bool getCacheSortedFlush() const;
この環境のすべてのオブジェクトに現在割り当てられているメモリー・サイズを戻します。
構文
unsigned int getCurrentHeapSize() const;
LDAPのオープン通知登録を使用する場合の管理コンテキストを戻します。
構文
string getLDAPAdminContext() const;
LDAPのオープン通知登録を使用する場合の認証モードを戻します。
構文
unsigned int getLDAPAuthentication() const;
LDAPサーバーが稼働しているホストを戻します。
構文
string getLDAPHost() const;
LDAPサーバーがリスニングしているポートを戻します。
構文
unsigned int getLDAPPort() const;
この環境のマップへのポインタを戻します。
構文
Map *getMap() const;
この環境に関連付けられているOCI環境へのポインタを戻します。
構文
OCIEnv *getOCIEnvironment() const;
XAライブラリによりオープンされている、オブジェクトに対応するOCCI Connectionオブジェクトへのポインタを戻します。
構文
Connection* getXAConnection( const string &dbname);
パラメータ | 説明 |
---|---|
dbname |
データベース名を指定します。このデータベース名は、Open Stringに指定された(およびリソース・マネージャへの接続に使用される)オプションのdbname と同じです。 |
XAライブラリによりオープンされているオブジェクトに対応するOCCI Environmentオブジェクトへのポインタを戻します。
構文
Environment *getXAEnvironment( const string &dbname);
パラメータ | 説明 |
---|---|
dbname |
データベース名を指定します。このデータベース名は、Open Stringに指定された(およびリソース・マネージャへの接続に使用される)オプションのdbname と同じです。 |
getXAConnection()メソッドにより割り当てられたリソースをすべて解放/割当て解除します。
構文
void releaseXAConnection( Connection* conn);
パラメータ | 説明 |
---|---|
conn |
getXAConnection()メソッドから戻された接続を指定します。 |
getXAEnvironment()メソッドにより割り当てられたリソースをすべて解放/割当て解除します。
構文
void releaseXAEnvironment( Environment* env);
パラメータ | 説明 |
---|---|
env |
getXAEnvironment()メソッドから戻された環境を指定します。 |
クライアント側オブジェクト・キャッシュの最大サイズを、最適サイズの率として設定します。デフォルト値は10%です。
構文
void setCacheMaxSize( unsigned int maxSize);
パラメータ | 説明 |
---|---|
maxSize |
最大サイズ値を率として指定します。 |
クライアント側オブジェクト・キャッシュの最適サイズをバイト単位で設定します。デフォルト値は8MBです。
構文
void setCacheOptSize( unsigned int optSize);
パラメータ | 説明 |
---|---|
optSize |
最適サイズ値をバイト単位で指定します。 |
キャッシュ・フラッシュ・プロトコルを設定します。デフォルト(flag=FALSE
)では、キャッシュ内のオブジェクトは変更された順にフラッシュされます。サーバー側のパフォーマンスを改善するにはflag=TRUE
に設定します。この設定では、クライアント・キャッシュ内のオブジェクトは、フラッシュされる前に表の順序でソートされます。
構文
void setCacheSortedFlush( bool flag);
パラメータ | 説明 |
---|---|
flag |
FALSE (デフォルト): ソートされません。TRUE : 表の順にソートされます。 |
クライアントの管理コンテキストを設定します。通常は、LDAPサーバーのOracle RDBMS LDAPスキーマのルートです。
構文
void setLDAPAdminContext( const string &ctx);
パラメータ | 説明 |
---|---|
ctx |
クライアントのコンテキストを指定します。 |
認証モードを指定します。現在サポートされている値は0x1、つまり簡易認証(ユーザー名/パスワード認証)のみです。
構文
void setLDAPAuthentication( unsigned int mode);
パラメータ | 説明 |
---|---|
mode |
認証モードを指定します。 |
LDAPサーバーが稼働しているホストと、要求をリスニングしているポートを指定します。
構文
void setLDAPHostAndPort( const string &host, unsigned int port);
パラメータ | 説明 |
---|---|
host |
LDAPのホストを指定します。 |
port |
LDAPのポートを指定します。 |
LDAPサーバーへの接続時に使用するログイン識別名とパスワードを指定します。
構文
void setLDAPLoginNameAndPassword( const string &login, const &passwd);
パラメータ | 説明 |
---|---|
login |
ログイン名を指定します。 |
passwd |
ログイン・パスワードを指定します。 |
環境への接続をクローズし、関連しているすべてのシステム・リソースを解放します。
構文
void terminateConnection( Connection *connection);
パラメータ | 説明 |
---|---|
connection |
終了する接続インスタンスへのポインタを指定します。 |
接続プールの接続をクローズし、関連しているすべてのシステム・リソースを解放します。
構文
void terminateConnectionPool( ConnectionPool *poolPointer);
パラメータ | 説明 |
---|---|
poolPointer |
終了する接続プール・インスタンスへのポインタを指定します。 |
環境をクローズし、関連しているすべてのシステム・リソースを解放します。
構文
void terminateEnvironment( Environment *env);
パラメータ | 説明 |
---|---|
env |
クローズする環境を指定します。 |
指定したStatelessConnectionPool
を破棄します。
構文
void termimnateStatelessConnectionPool( StatelessConnectionPool* poolPointer, StatelessConnectionPool::DestroyMode mode=StatelessConnectionPool::DEFAULT);
パラメータ | 説明 |
---|---|
poolPointer |
破棄するStatelessConnectionPool を指定します。 |
mode | 表13-40に定義されているDestroyMode (DEFAULT またはSPD_FORCE )を指定します。 |