Oracle DATETIME型項目への更新
aita
投稿数: 3
お世話になっております。
jBOLT EXpedition V3 SP1を使用し、
'YYYY/MM/DD HH24:MI:SS'の形式の文字列を元にOracleの DATETIME型 の項目へ更新しようとしています。
ヘルプの「jBOLTでDateTimeデータベース項目を使用する」の内容、
こちらのフォーラムの既出の質問「MS SQL Server 2005 のmoney,datetimeのデータ型の変換について」の回答を参考に
data_types.xml 及びjBOLTロジックの修正を行いましたが、oracleのDATETIME型の項目に対し正しく更新が行えません。
対処法をご存知の方がいらっしゃいましたらご教示ください。
【定義内容】
■data_types.xml修正内容
・修正前
----------------------------------------------------------------
<Mapping>
<GW>99</GW>
<From_DB_Type>DATE </From_DB_Type>
<To_Data_Type>Date</To_Data_Type>
<MagicPic>YYYY/MM/DD</MagicPic>
<StoredSize>8 </StoredSize>
<StoredAs></StoredAs>
<StoradAsNumber>19</StoradAsNumber>
<StoredType></StoredType>
</Mapping>
----------------------------------------------------------------
・修正後
----------------------------------------------------------------
<Mapping>
<GW>99</GW>
<From_DB_Type>DATE</From_DB_Type>
<To_Data_Type>STRINGDATE</To_Data_Type>
<MagicPic/>
<StoredSize/>
<StoredAs>ZString</StoredAs>
<StoradAsNumber>3</StoradAsNumber>
<StoredType></StoredType>
</Mapping>
----------------------------------------------------------------
※データマッパー-送り先のノード特性画面のデータタイプが「DATE(19)」となっていたため、
<From_DB_Type>DATE</From_DB_Type>のブロックを修正しました。
jBOLTは終了した状態でxmlファイルの修正を行っています。
■データマッパー設定
データマッパー-送り先
alter session set NLS_DATE_FORMAT='YYYY/MM/DD HH24:MI:SS'を追加
ノード特性画面
書式:19は修正していません。
※xmlファイル更新前はノード特性画面にStringDateのチェックボックスがありましたが、
更新後はSrtingDateのチェックボックスが消え、「DATE(19)」の表示は変わりません。
【障害内容】
処理を実行し、Mapper.logよりSQL文を確認したところ、
Insert時のVALUE句に「2011/07/15 10:11:12」とシングルコーテーションなしの文字列が出力されていました。
SQLPlus でデータをSelectしたところ、「2011/10/69 00:00:00」が表示されました。
以上の現象をwindows7 Professional 32bit、windowsXP Professional 32bit SP2 にjBOLTをインストールした環境で確認しました。
DATETIME型に更新する部分のみのプロジェクトを作成しましたが、現象に変わりありませんでした。
xmlファイルの修正内容が間違っていますでしょうか。
MSSQLとOracleの違いにより data_types.xml の修正内容の違い等ありますでしょうか。
また、開発環境のデータベースはORACLE10gR2、実際の運用はORACLE11gR2を予定しています。
oracleのバージョンの違いによるxmlファイルの編集内容の違いなどありましたらご教示ください。
以上、大変お手数をおかけ致しますが、何卒ご回答宜しくお願い致します。
jBOLT EXpedition V3 SP1を使用し、
'YYYY/MM/DD HH24:MI:SS'の形式の文字列を元にOracleの DATETIME型 の項目へ更新しようとしています。
ヘルプの「jBOLTでDateTimeデータベース項目を使用する」の内容、
こちらのフォーラムの既出の質問「MS SQL Server 2005 のmoney,datetimeのデータ型の変換について」の回答を参考に
data_types.xml 及びjBOLTロジックの修正を行いましたが、oracleのDATETIME型の項目に対し正しく更新が行えません。
対処法をご存知の方がいらっしゃいましたらご教示ください。
【定義内容】
■data_types.xml修正内容
・修正前
----------------------------------------------------------------
<Mapping>
<GW>99</GW>
<From_DB_Type>DATE </From_DB_Type>
<To_Data_Type>Date</To_Data_Type>
<MagicPic>YYYY/MM/DD</MagicPic>
<StoredSize>8 </StoredSize>
<StoredAs></StoredAs>
<StoradAsNumber>19</StoradAsNumber>
<StoredType></StoredType>
</Mapping>
----------------------------------------------------------------
・修正後
----------------------------------------------------------------
<Mapping>
<GW>99</GW>
<From_DB_Type>DATE</From_DB_Type>
<To_Data_Type>STRINGDATE</To_Data_Type>
<MagicPic/>
<StoredSize/>
<StoredAs>ZString</StoredAs>
<StoradAsNumber>3</StoradAsNumber>
<StoredType></StoredType>
</Mapping>
----------------------------------------------------------------
※データマッパー-送り先のノード特性画面のデータタイプが「DATE(19)」となっていたため、
<From_DB_Type>DATE</From_DB_Type>のブロックを修正しました。
jBOLTは終了した状態でxmlファイルの修正を行っています。
■データマッパー設定
データマッパー-送り先
alter session set NLS_DATE_FORMAT='YYYY/MM/DD HH24:MI:SS'を追加
ノード特性画面
書式:19は修正していません。
※xmlファイル更新前はノード特性画面にStringDateのチェックボックスがありましたが、
更新後はSrtingDateのチェックボックスが消え、「DATE(19)」の表示は変わりません。
【障害内容】
処理を実行し、Mapper.logよりSQL文を確認したところ、
Insert時のVALUE句に「2011/07/15 10:11:12」とシングルコーテーションなしの文字列が出力されていました。
SQLPlus でデータをSelectしたところ、「2011/10/69 00:00:00」が表示されました。
以上の現象をwindows7 Professional 32bit、windowsXP Professional 32bit SP2 にjBOLTをインストールした環境で確認しました。
DATETIME型に更新する部分のみのプロジェクトを作成しましたが、現象に変わりありませんでした。
xmlファイルの修正内容が間違っていますでしょうか。
MSSQLとOracleの違いにより data_types.xml の修正内容の違い等ありますでしょうか。
また、開発環境のデータベースはORACLE10gR2、実際の運用はORACLE11gR2を予定しています。
oracleのバージョンの違いによるxmlファイルの編集内容の違いなどありましたらご教示ください。
以上、大変お手数をおかけ致しますが、何卒ご回答宜しくお願い致します。
投票数:0
平均点:0.00
投稿ツリー
-
Oracle DATETIME型項目への更新
(aita, 2011-7-27 18:58)
- Re: Oracle DATETIME型項目への更新 (Jiro123, 2011-7-30 20:23)
- Re: Oracle DATETIME型項目への更新 (aita, 2011-8-1 20:10)
- Re: Oracle DATETIME型項目への更新 (yoshi, 2011-8-1 20:31)
- Re: Oracle DATETIME型項目への更新 (aita, 2011-8-2 10:16)