3.3.9 ?パラメタに文字列を指定する場合の注意

ORACLEの場合,DBPreparedStatementやDBCallableStatementで使用している?パラメタに,文字列,又はDBR_BINARYの値を指定するときは,次の点に注意してください。

SQLを実行する場合,前回の実行後にSetParamメソッドで値を変更して再度実行していると,カーソルの再解析が必要になることがあります。この場合は,再度Executeメソッドを実行してSetParamメソッドで値を設定し直してからSQLを実行してください。

カーソルの再解析が必要になるのは次の場合です。

例えば,SetParamメソッドで200バイトの文字列を設定してExecuteUpdateメソッドを実行した後,300バイトの文字列をSetParamメソッドで設定して再度ExecuteUpdateメソッドを実行すると,ORACLEのエラーになります。このような場合は,Executeメソッドを実行してから,SetParamメソッドで300バイトの文字列を設定してExecuteUpdateメソッドを実行してください。

注※ ここではExecuteUpdateメソッド,又はGetResultSetメソッドの実行を指します。