0

ibatis と oracle 10 を使用しています。jdbc ドライバーは oracle.jdbc.driver.OracleDriver です。テーブルからデータを取得すると、2 つのスペース ' ' が追加されていることがわかりました。列 ACTIVE_IND CHAR(1) としましょう。取得されたデータは 'A' です。

これはすべての CHAR フィールドで発生していることに注意してください。また、余分なスペースは常に CHAR の長さの 2 倍です。たとえば、CHAR(14) の列がある場合、末尾の余分なスペースは 28 個ありません。

これは、システム テスト環境でのみ発生します。同じ ojdbc14.jar と同じコードを使用したローカル デスクトップでは、余分なスペースはありませんでした。

System Testing 環境で唯一異なるのはデータベースだと思います。文字エンコーディングに関連していますか?データベースに変更するための構成がありますか?

4

2 に答える 2

2

文字エンコーディングの問題のように聞こえます。チェックしましたか

  1. それぞれの場合の Oracle データベースの構成
  2. 各環境でアプリが実行されている文字エンコーディング (または同様のものを使用してこれを構成できます-Dfile.encoding=UTF8- これを強くお勧めします)
于 2010-12-31T11:11:07.723 に答える
0

正確に何が悪かったのかをあなたが提供した情報から完全に判断することはできません。列のエンコードに関する限り、COLLATIONSETTINGの影響を受けます。詳細については、次のリンクを確認してください。http: //www.lessanvaezi.com/collat​​ion-in-oracle-using-nls_sort/

于 2010-12-31T11:14:51.700 に答える