Oracle ODBC Driver を使用している場合、 &SQLIBIND( ) の入力ホスト変数として CHAR 変数をバインドすると、
SQL 文の実行により、CHAR データの後続スペースが除去されてしまいます。この問題は、実装ドライバにおいて、ODBC API の レベル1.0
と レベル3.0 の完全互換を実現できないことから起きるものです。
【回避方法】
SQL 文が Procedure の場合には、Oracle ODBC Driver 8.1.7.7 を使用することで、問題は解消されます。
SQL 文が DML 文の場合には、入力ホスト変数を CHAR型から ZCHAR型へ変更することで回避できます。
もしくは、入力ホスト変数でも SQL文の実行後にホスト変数の値を期待しないロジックに変更してください。
|