備考
OraParameter
オブジェクトは、OraDatabase
オブジェクトのOraParameters
コレクションを介して間接的に作成、アクセスおよび削除されます。各パラメータには、識別名および関連付けられた値があります。SQL文またはPL/SQL文の中でパラメータ名をプレースホルダとして使用すると、(オブジェクトの記述に示されているとおり)他のオブジェクトのSQL文およびPL/SQL文にパラメータを自動的にバインドできます。パラメータを使用することで、動的な問合せを容易にし、プログラムのパフォーマンスを向上させます。
パラメータは、実行前にSQL文およびPL/SQLブロックにバインドされます。SQL SELECT
文の場合は、ダイナセットの作成前にバインドが発生します。
OraParameters
コレクションは、OraDatabase
オブジェクトの一部です。したがって、すべてのパラメータは、データベース内で(CreateDynaset
またはExecuteSQL
メソッドを介して)実行されるSQL文またはPL/SQLブロックで使用できます。
SQL文またはPL/SQLブロックの実行前に、関連付けられたOraDatabase
オブジェクトのすべてのパラメータのバインドが試行されます。(特定のSQL文またはPL/SQLブロックにパラメータが適用されないために)失敗したバインドは通知され、そのSQL文またはPL/SQLブロックが未変更のまま再実行された場合、バインドは再試行されません。
SQL文およびPL/SQLブロックはいずれもローカルには解析されないため(すべての解析はOracle Databaseで実行されます)、不要なバインドはパフォーマンス低下の原因となります。不要なパラメータのバインドを防止するには、AutoBindDisable
およびAutoBindEnable
メソッドを使用します。
ServerType
がCHAR
およびVARCHAR2
であるORAPARM_OUTPUT
変数の最大サイズは、デフォルトで127バイトに設定されます。この値を変更するには、MinimumSize
プロパティを使用します。CHAR
、VARCHAR2
およびORATYPE_RAW_BIN
に対するORAPARM_OUTPUT
変数の最小サイズは、データベースの列から予測されるデータのサイズより常に大きい値に設定する必要があります。
Oracle Raw
型の列にバインドする場合は、ServerType
にORATYPE_RAW_BIN
を使用します。値の設定または取得には、バイト配列を使用します。ORATYPE_RAW_BIN
バインド・バッファの最大許容サイズは、表の列にバインドする場合は2000バイト、ストアド・プロシージャにバインドする場合は32KBです。コード例は、ORACLE_BASE\\ORACLE_HOME
\OO4O\VB\Raw
ディレクトリにあるサンプルを参照してください。