開発中のEAI連携システムで、「Oracleストアドの返り値に予期せぬ半角スペースが大量に付加されている」なんて状況が起こったので、調べてみると、「OracleストアドのOUT変数にCHAR型を指定すると、32767バイトになるように半角スペースがパディングされる」なんて情報(Oracle9i JDBC開発者ガイド Page.488)がありました。
なんですか、しょれわ!?
記載してある対処「setMaxFieldSize()を使う」では、スキーマ定義がコードに埋まっちゃったりするのがやや気に入りませんし、「OUT 変数を登録する前に、setMaxFieldSize()メソッドを起動する必要」とか書いてあって面倒なので、CHARをやめてVARCHAR2にしてもらうようにしようかなと。
2004.11.26 (Friday)
OracleストアドのOUT変数にCHAR型を指定すると、余分なスペースが付加される。
« 大事なデータを大量にロスト!〜ポー… | Tweet |
| 牛焼肉丼 » |
trackback: