引数
このメソッドの引数は、次のとおりです。
引数 | 説明 |
---|---|
Name |
パラメータ・コレクションに追加するパラメータの名前。この名前は、パラメータを識別するため、および関連するSQL文とPL/SQL文内のプレースホルダとして使用されます。 |
IOType |
SQL文とPL/SQLブロック内でのパラメータの使用方法を指定する整数コード。 |
ServerType |
この配列パラメータがバインドされるOracle Databaseの型を指定します。指定できる値のリストは、「ServerTypeプロパティ」のOraParameter を参照してください。 |
ArraySize |
パラメータの配列要素の数を指定します。このパラメータは、最大バッファ長を計算するために使用されます。 |
ElementSize [オプション] |
要素のサイズを定義します。文字および文字列型の表(配列)パラメータにのみ有効です。ElementSize の有効サイズは、VarType によって異なります。
|
ObjectName |
大/小文字が区別され、Object 名を含む文字列。ServerType がORATYPE_OBJECT 、ORATYPE_VARRAY またはORATYPE_TABLE の場合にのみ、この指定が必要です。これは、PL/SQLでREF が使用される場合、ORATYPE_REF に必要です。 |
IOTypeの設定
IOType
の設定内容は、次のとおりです。
定数 | 値 | 説明 |
---|---|---|
ORAPARM_INPUT |
1 | 入力変数にのみ使用 |
ORAPARM_OUTPUT |
2 | 出力変数にのみ使用 |
ORAPARM_BOTH |
3 | 入力変数と出力変数の両方に使用 |
この値が正しいことを確認してください。パラメータのタイプがIN
であるストアド・プロシージャに対してORAPARM_BOTH
など、不正なオプションを指定すると、結果はエラーになります。ORAPARM_BOTH
は、IN
およびOUT
のパラメータ専用です。IN
パラメータを持つストアド・プロシージャとOUT
パラメータを持つ別のストアド・プロシージャに対してこれを使用するわけではありません。この場合は、2つのパラメータを使用します。このようなエラーが発生することはまれですが、パラメータに関するエラーが発生した場合は、IOType
が正しいことを確認してください。
ServerType
有効な型は、ServerTypeプロパティを参照し、次の点に注意してください。
注意:
外部データ型のORATYPE_NUMBER
には、1
から38
の桁精度を使用できます。
正の数の最大は、0.99999999999999999999
E
+
38
です。
正の数の最小は、0.1
E
-38
です。
負の数の最小は、-0.99999999999999999999
E
+
38
です。
負の数の最大は、0.1
E
-38
です。
ElementSize(オプション)
文字、文字列およびRAW型に有効です。ElementSize
の有効サイズは、VarType
によって異なります。このサイズは、個々の文字列またはRAW配列要素の長さを表します。有効範囲は、次のとおりです。
VarType | サイズ |
---|---|
ORATYPE_VARCHAR2 |
有効範囲は、1から1999 |
ORATYPE_VARCHAR |
有効範囲は、1から1999 |
ORATYPE_STRING |
有効範囲は、1から1999 |
ORATYPE_CHAR |
有効範囲は、1から255 |
ORATYPE_CHARZ |
有効範囲は、1から255 |
ORATYPE_RAW_BIN |
有効範囲は、1から4000(備考を参照) |
備考
SQL文を再構築するかわりに、パラメータを使用して、配列を挿入、更新および削除するためのSQLバインド変数を表します。SQLバインド変数は、問合せを再解析することなくパラメータ値を変更できるため便利です。SQLバインド変数は、入力変数としてのみ使用します。
パラメータを使用して、PL/SQLバインド(IN
/OUT
)変数を表すこともできます。PL/SQLのバインド変数は、入力と出力両方の変数として使用できます。
Oracle Raw
型の列にバインドする場合は、ServerType
値にORATYPE_RAW_BIN
を使用します。値のPut
またはGet
には、バイト配列を使用します。ORATYPE_RAW_BIN
バインド・バッファの最大許容サイズは、表の列にバインドする場合は2000バイト、ストアド・プロシージャにバインドする場合は32KBです。どの要素(ElementSize
引数を参照)も、ストアド・プロシージャにバインドする場合で4000バイト、表の列にバインドする場合で2000バイトを超えることはできません。コード例は、ORACLE_BASE\\ORACLE_HOME
\OO4O\VB\Raw
ディレクトリにあるサンプルを参照してください。