4.6 システム・プロパティの設定について

RDBMSセッション内では、JavaセッションをRDBMSセッションで起動する場合、システム・プロパティに追加される値のセットを管理できます。この値のセットは、Javaセッションの状態の長い層の期間で有効な状態が維持され、これは、通常、RDBMSセッションと同じ期間です。

DBMS_JAVAパッケージには、内部のRDBMSセッション期間表でキーと値のペアを設定、取得、削除および表示するためのPL/SQLファンクションのセットがあります。ここでは、ペアのどちらの要素も文字列(VARCHAR2)であり、指定のキーに対して最大1つのペアがあります。ファンクションは次のとおりです。タスクの機能は次のとおりです。

set_property

このファンクションでは、Javaセッションが初期化されると、RDBMSの現行セッションの期間に使用されるシステム・プロパティの値を設定します。最初の引数はプロパティの名前、2番目の引数はプロパティに設定される値です。set_propertyの戻り値は、エラーがないかぎりNULLになります。たとえば、規定のプロパティの値を設定しようとすると、エラー・メッセージが戻されます。

FUNCTION set_property(name VARCHAR2, value VARCHAR2) RETURN VARCHAR2;

get_property

このファンクションは、set_propertyで以前に設定された値を戻します。値がない場合はNULLを戻します。

FUNCTION get_property(name VARCHAR2) RETURN VARCHAR2;

remove_property

このファンクションは、set_propertyで以前に設定された値を削除します。エラーが発生しなければ、戻り値はNULLになり、エラーが発生した場合、エラー・メッセージが戻されます。

FUNCTION remove_property(name VARCHAR2) RETURN VARCHAR2;

show_property

このファンクションは、nameがNULLの場合、入力名または設定されたすべてのプロパティのバインディングについて、name = valueという形式のメッセージを表示します。このファンクションの戻り値は、正常に実行された場合はNULL、それ以外はエラー・メッセージになります。出力は、現在のJava出力の指定先に表示されます。

FUNCTION show_property(name VARCHAR2) RETURN VARCHAR2;

Javaセッションを初期化する前に、Oracle JVMですでに管理されているデフォルトのシステム・プロパティの値セットにこの表の値が追加されます。コマンドライン・インタフェースを使用してJavaメソッドを実行する場合、-Dオプション(指定する場合)で決定した値は、表の値セットをオーバーライドします。Javaセッションを終了するとすぐに、-Dオプションで設定した値は使用されなくなり、キーは表にある元の値に設定されます。