[Seasar-user:3498] [S2Test] 日付型のセル
松山 大樹
[E-MAIL ADDRESS DELETED]
2006年 4月 13日 (木) 13:26:55 JST
松山です。
Oracle データベース上に、
create table hoge (
userID varchar2(100) not null,
enabledDate date not null
);
Alter table hogeadd Primary Key (userID);
というテーブルがあるとします。
このテーブルを使用するクラスをテストするとき、S2TestCase.readXlsAllReplaceDb()
を使用して、テストデータを読み込ませているのですが、enabledDate に該当するセルが
日付型だと、
org.seasar.framework.exception.ParseRuntimeException: [ESSR0050]解析に失敗しました。理由はjava.text.ParseException: Unparseable date: "2006-03-31 00:00:00.0"
at org.seasar.framework.util.DateConversionUtil.toDate(DateConversionUtil.java:59)
(以下、省略)
というエラーになります。
先頭に、'(アポストロフィー)を付けて、文字型にすると正常に動作します。
また、enabledDate の型を、date ではなく、timestamp にしても正常に動作します。
Oracle のdate は、秒までの精度しか持っていないところに、ミリ秒までの値をセット
しようとして失敗しているのではないか、と思うのですが。
S2Container は、2.3.7、Oracle は、10g です。
今のところ、全部、'2006/3/31 のように、先頭にアポストロフィーを付けて実行していますが、
うっかり大量に入力してしまったものを修正するのは面倒なので、何とかならないでしょうか?
--
::: 株式会社ワウワウ・コミュニケーションズ http://www.wowcom.co.jp/
::: ITシステム・インテグレートDiv.
::: Web・ソリューション&システム開発Unit.
::: 松山 大樹 - [E-MAIL ADDRESS DELETED]
Seasar-user メーリングリストの案内