Environmentクラス
Environmentクラスは、OCCIオブジェクトのメモリーやその他のリソースを管理するためのOCCI環境を提供します。
アプリケーションは複数のOCCI環境を保持できます。各環境ごとに、独自のヒープやスレッド・セーフティmutexを持つことができます。
表13-17 Environmentクラスで使用される列挙値
属性 | オプション |
---|---|
Mode |
|
表13-18 Environmentメソッドの概要
メソッド | 概要 |
---|---|
指定したデータベースへの接続を確立します。 |
|
接続プールを作成します。 |
|
|
|
ステートレスな接続プールを作成します。 |
|
サブスクリプション通知を有効化します |
|
サブスクリプション通知を無効化します |
|
キャッシュの最大ヒープ・サイズを取り出します。 |
|
キャッシュの最適ヒープ・サイズを取り出します。 |
|
キャッシュ・ソート・フラグの設定を取り出します。 |
|
クライアント・ライブラリのバージョンを戻します。 |
|
現行の環境にあるすべてのオブジェクトに現在割り当てられているメモリー・サイズを戻します。 |
|
LDAPのオープン通知登録を使用する場合の管理コンテキストを戻します。 |
|
LDAPのオープン通知登録を使用する場合の認証モードを戻します。 |
|
LDAPサーバーが稼働しているホストを戻します。 |
|
LDAPサーバーがリスニングしているポートを戻します。 |
|
getMap()() |
現行の環境のマップを戻します。 |
現行の環境のNLS言語を戻します。 |
|
現行の環境のNLS地域を戻します。 |
|
現行の環境に関連付けられているOCI環境を戻します。 |
|
データベースへのXA接続を作成します。 |
|
XA |
|
getXAConnection()のコールにより割り当てられたリソースをすべて解放します。 |
|
getXAEnvironment()のコールにより割り当てられたリソースをすべて解放します。 |
|
クライアント側オブジェクト・キャッシュの最大サイズを、最適サイズの率として指定します。 |
|
クライアント側オブジェクト・キャッシュの最適サイズをバイト単位で指定します。 |
|
フラッシュする前に表の順序でキャッシュをソートするかどうかを指定します。 |
|
LDAPクライアントの管理コンテキストを指定します。 |
|
LDAPの認証モードを指定します。 |
|
LDAPサーバーのホストとポートを指定します。 |
|
LDAPサーバーへの接続時のログイン名とパスワードを指定します。 |
|
現行の環境のNLS言語を指定します。 |
|
現行の環境のNLS地域を指定します。 |
|
接続プールをクローズし、関連しているすべてのリソースを解放します。 |
|
接続プールをクローズし、関連しているすべてのリソースを解放します。 |
|
環境を破棄します。 |
|
ステートレスな接続プールをクローズし、関連しているすべてのリソースを解放します。 |
createConnection()
このメソッドは、指定したデータベースへの接続を確立します。
構文 | 説明 |
---|---|
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サポート)。クライアントの |
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サポート)。クライアントの |
パラメータ | 説明 |
---|---|
userName |
接続に使用するユーザー名を指定します。 |
password |
ユーザーのパスワードを指定します。 |
connectString |
接続先データベースを指定します。 |
purity |
データベース常駐接続プーリングで使用される接続の純正値を指定します。 |
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サポート)。クライアントの |
パラメータ | 説明 |
---|---|
poolUserName |
プールのユーザー名を指定します。 |
poolPassword |
プールのパスワードを指定します。 |
connectString |
サーバーの接続文字列を指定します。 |
minConn |
プール内の最小接続数を指定します。このメソッドによって、この最小数の接続がオープンします。追加の接続は、必要な場合のみオープンします。通常、 |
maxConn |
プールの接続の最大数。有効な値は、1以上です。 |
incrConn |
現行の接続数が |
createEnvironment()
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と |
パラメータ | 説明 |
---|---|
mode |
値は |
ctxp |
ユーザー定義のメモリー管理関数のためのコンテキスト・ポインタを指定します。 |
size |
ユーザー定義のメモリー割当て関数によって割り当てられるメモリーのサイズを指定します。 |
newsize |
再割当てされるメモリーの新規サイズを指定します。 |
memptr |
新規サイズに再割当てする必要のある既存のメモリーを指定します。 |
malocfp |
ユーザー定義のメモリー割当て関数です。 |
ralocfp |
ユーザー定義のメモリー再割当て関数です。 |
|
ユーザー定義のメモリー解放関数です。 |
|
|
|
|
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); |
|
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); |
|
パラメータ | 説明 |
---|---|
poolUserName |
プールのユーザー名を指定します。 |
poolPassword |
プールのパスワードを指定します。 |
connectString |
サーバーの接続文字列を指定します。 |
maxConn |
プール内でオープンできる最大接続数を指定します。それ以上はセッションをオープンできません。 |
minConn |
プール内で最初に作成される接続の数を指定します。このパラメータが考慮されるのは、 |
incrConn |
すべてのオープン接続がビジーの場合にプールの増分となる接続数を、 |
pType |
接続プールの |
enableSubscription()
サブスクリプション通知を有効化します。
構文
void enableSubscription( const aq::Subscription &sub);
パラメータ | 説明 |
---|---|
sub |
サブスクリプションを指定します。 |
disableSubscription()
サブスクリプション通知を無効化します。
構文
void disableSubscription( Subscription &subscr);
パラメータ | 説明 |
---|---|
subscr |
サブスクリプションを指定します。 |
getCacheSortedFlush()
キャッシュ・ソート・フラグの現在の設定(TRUE
またはFALSE
)を取り出します。
構文
bool getCacheSortedFlush() const;
getCurrentHeapSize()
この環境のすべてのオブジェクトに現在割り当てられているメモリー・サイズを戻します。
構文
unsigned int getCurrentHeapSize() const;
getLDAPAuthentication()
LDAPのオープン通知登録を使用する場合の認証モードを戻します。
構文
unsigned int getLDAPAuthentication() const;
getXAConnection()
XAライブラリによりオープンされている、オブジェクトに対応するOCCI Connectionオブジェクトへのポインタを戻します。
構文
Connection* getXAConnection( const string &dbname);
パラメータ | 説明 |
---|---|
dbname |
データベース名を指定します。このデータベース名は、Open Stringに指定された(およびリソース・マネージャへの接続に使用される)オプションの |
getXAEnvironment()
XAライブラリによりオープンされているオブジェクトに対応するOCCI Environmentオブジェクトへのポインタを戻します。
構文
Environment *getXAEnvironment( const string &dbname);
パラメータ | 説明 |
---|---|
dbname |
データベース名を指定します。このデータベース名は、Open Stringに指定された(およびリソース・マネージャへの接続に使用される)オプションの |
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 |
|
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 |
破棄する |
mode |
表13-41に定義されている |