私はibatisとoracleを使用しています。10. jdbcドライバはoracle.jdbc.driver.OracleDriverです。私がテーブルからデータを取り出すと、2つのスペース 'が追加されています。たとえばACTIVE_IND CHAR(1)という列があり、取得されたデータが「A」であるとします。CHAR値を取得中に末尾に余分なスペースがあります
これはすべてのCHARフィールドで発生していることに注意してください。余分なスペースは、常にCHARの長さの2倍です。たとえば、CHAR(14)の列がある場合、末尾に余分なスペースはありません。
これはシステムテスト環境でのみ発生しています。私たちのローカルデスクトップでは、同じojdbc14.jarと同じコードを使用して、余分なスペースはありませんでした。
システムテスト環境で唯一違うのはデータベースだと思います。それはいくつかの文字エンコーディングに関連していますか?それを変更するためにデータベースにいくつかの設定がありますか?
Oracleは、1バイト文字セットまたは複数バイト文字セットを格納できます。 CHAR(1)はもはや説明的なものではなく... CHAR(1 CHAR)またはCHAR(1 BYTES)です。答えが最初で、文字セットが2バイトとして定義されている場合、割り当てられるスペースは2バイトです。 –