[Seasar-user:12557] [S2Dao]Oracle Date型のupdateでエラーとなる
小山 健二
[E-MAIL ADDRESS DELETED]
2008年 1月 18日 (金) 19:57:50 JST
小山です
いつもお世話になっています。
アドバイス頂けないでしょうか?
どのあたりに問題があるのかわからず、困っております。
以下、長文ですみません。
S2Daoのupdateメソッドと呼ぶと、以下のログが出力されます
UPDATE SEIBANTABLE_K_T SET chuban = '07-7M66778',
SEQ_NO = 9845, IMPORT_DT = '2007-12-20 10.03.08'
中略
WHERE seiban = '07-7M66778 EF 0001' AND version_no = 0
updateは、S2Daoで用意されるものを使っています。
Oracle カラム定義で以下のようになっています。
IMPORT_DT DATE
このupdateが失敗してしまいます。ログをコピーしてSQLとして
実行させると
UPDATE SEIBANTABLE_K_T SET chuban = '07-7M66778',
SEQ_NO = 9845, IMPORT_DT = '2007-12-20 10.03.08',
*
ERROR at line 1:
ORA-01861: リテラルが書式文字列と一致しません
となります。
''でくくった場合、文字列(String)となる思います。
同じテーブルに対してINSERTは、成功します。
INSERT INTO SEIBANTABLE_K_T (chuban, SEQ_NO, IMPORT_DT, 中略 )
VALUES ('07-7M78407', 9790, '2007-12-19 05.30.02', 中略 )
Entityクラスでは、
private Date importDt;
としています。
この格納するデータ自体は、別のテーブルの同名IMPORT_DT(DATE)から、
selectAll()でとってきたもので、フォーマット変換などの加工はして
いません。
また、エラーがでるようになる前と、その後でソースは変更しないのに、
何故か?エラーが出はじめました。
Oracleのパラメータは以下のようになっています。
NLS_DATE_FORMAT
RR-MM-DD
NLS_DATE_LANGUAGE
JAPANESE
NLS_TIME_FORMAT
HH24:MI:SSXFF
NLS_TIMESTAMP_FORMAT
RR-MM-DD HH24:MI:SSXFF
--
(^_^)試して見る事に失敗はない。明日は今日と違う自分になる。
小山健二 (Kenji Koyama)
[E-MAIL ADDRESS DELETED]
Seasar-user メーリングリストの案内