固定長アダプタで読み込んだファイルを、データベースのテーブルに書き込もうとしたところ、以下のエラーが発生しました

Avatar
dstn

Question

固定長アダプタで読み込んだファイルを、データベースのテーブルに書き込もうとしたところ、以下のエラーが発生しました。
「String型からBigDecimal型に変換できませんでした」

テーブルの該当カラムは、数値型でNullデータの保存は許容しています。また、Maaperのロジックアイコンでトリム後に、
Null値を0に変換するとエラーは回避できますが、トリムで空白を除外した場合にはエラーとなります。
エラーの原因と対応方法を教えてください。

Answer

■原因
本エラーは、文字列を数値に変換しようとしてできなかった場合に発生します。
例えば、空文字は数値に変換することができません。
このため、数値型項目に空文字をセットした場合にエラーとなります。

今回のようにデータベースやアプリケーションの数値項目に値をセットした場合、DataSpider Servista は
内部的に、文字列のデータを数値に変換しています。

このため、空文字のデータを数値型項目にセットしようとした場合にエラーとなります。

固定長アダプタのファイル読み取り処理では、データのないカラムの値は設定によってnullまたは空文字で
読み取ります。nullまたは空文字になる条件は、参考情報のヘルプをご参照ください。

■回避策
Mapperのnull/空文字の変換ロジックを使用して、0 など、空文字を任意の数値に変換してください。

詳細は参考情報をご参照ください。

参考情報

・固定長ファイル読み取り処理 - nullと空文字について
 http://patch.appresso.com/DataSpider/help/latest/doc/help/ja/adapter/file/fixedlength_get_data.html​



[注意事項]
  • このFAQの内容は2017年3月時点のものです。内容は予告なく変更されることがありますので、ご注意ください。
  • 一部にDataSpider Servistaサポートサイトへのリンクを含むことがあります。サポートサイトにアクセスするには、DataSpiderのサポート契約が必要です。


ID:Q181

コメント

記事コメントは受け付けていません。

Powered by Zendesk