[Seasar-user:7575] Re: readXlsWriteDb でスペースを設定するには
Koichi Kobayashi
[E-MAIL ADDRESS DELETED]
2007年 5月 10日 (木) 18:30:08 JST
小林 (koichik) です.
Date: Thu, 10 May 2007 11:03:30 +0900
From: "o.h." <[E-MAIL ADDRESS DELETED]>
To: [E-MAIL ADDRESS DELETED]
Subject: [Seasar-user:7568] readXlsWriteDb でスペースを設定するには
> S2TestCase で事前条件の設定に readXlsWriteDb を用いようと
> しています.
>
> で、テスト用データとして文字列フィールドにスペースを設定したい
> のですが、データもとの Excel ファイルにスペースを設定しても
> 実際に発行されている SQL を見てみると null が設定されているよう
> です.
XlsReader では文字列をトリミングしているため,
半角スペースのみのセルは null になってしまうのが
現在の仕様です.
これは
Date: Fri, 23 Feb 2007 15:33:49 +0900
From: Yasuo Higa <[E-MAIL ADDRESS DELETED]>
To: [E-MAIL ADDRESS DELETED]
Subject: [Seasar-user:6308] Re: テスト用Excelファイル内の半角スペースについて
> Excelがたまに(?)空なのに半角スペースを返すことがあり、
> それに対応するために、半角スペースをtrimしています。
ということらしいです.
しかし,
> #フィールドは固定長文字列で Not Null 制約付きです
これだと対処のしようがなくなってしまいますね...
XlsReader をちょっと修正して trim しないよう
指定できるようにしてみました.
readXlsWriteDb(path, false);
のように第 2 引数に false を指定すると Excel の
読み込み時に trim しなくなります.
以下に SNAPSHOT を置いたのでご確認ください.
http://maven.seasar.org/maven2-snapshot/org/seasar/container/s2-framework/2.4.13-rc2-SNAPSHOT/s2-framework-2.4.13-rc2-20070510.092454-3.jar
http://maven.seasar.org/maven2-snapshot/org/seasar/container/s2-extension/2.4.13-rc2-SNAPSHOT/s2-extension-2.4.13-rc2-20070510.092454-3.jar
http://maven.seasar.org/maven2-snapshot/org/seasar/container/s2-tiger/2.4.13-rc2-SNAPSHOT/s2-tiger-2.4.13-rc2-20070510.092652-3.jar
ただし,SqlReader の方は対応していないので,
テーブルを読み込むと trim されてしまいます.
こちらについても必要であれば対応を検討しますが,
ちょっと修正範囲が広くなってしまうのと,DataSet
機能全体の整合性が保てるか確認が必要なので
少々時間がかかるかもしれません.
--
<component name="koichik">
<property name="fullName">"Koichi Kobayashi"</property>
<property name="email">"[E-MAIL ADDRESS DELETED]"</property>
<property name="blog">"http://d.hatena.ne.jp/koichik"</property>
</component>
Seasar-user メーリングリストの案内