トップカテゴリー
>
テクニカルFAQ-一般公開向け-
>
DataSpider関連
>
DataSpider Servista
>
【DataSpider Servista】 固定長アダプタで読み込んだファイルをテーブルに書き込もうとしたらエラーが発生しました
戻る
No : 21177
公開日時 : 2018/12/07 10:39
更新日時 : 2020/03/23 10:48
印刷
【DataSpider Servista】 固定長アダプタで読み込んだファイルをテーブルに書き込もうとしたらエラーが発生しました
固定長アダプタで読み込んだファイルを、データベースのテーブルに書き込もうとしたところ、以下のエラーが発生しました。
「String型からBigDecimal型に変換できませんでした」
テーブルの該当カラムは、数値型でNullデータの保存は許容しています。また、Maaperのロジックアイコンでトリム後に、Null値を0に変換するとエラーは回避できますが、トリムで空白を除外した場合にはエラーとなります。エラーの原因と対応方法を教えてください。
カテゴリー :
トップカテゴリー
>
テクニカルFAQ-一般公開向け-
>
DataSpider関連
>
DataSpider Servista
回答
■原因
本エラーは、文字列を数値に変換しようとしてできなかった場合に発生します。例えば、空文字は数値に変換することができません。このため、数値型項目に空文字をセットした場合にエラーとなります。
今回のようにデータベースやアプリケーションの数値項目に値をセットした場合、DataSpider Servista は内部的に、文字列のデータを数値に変換しています。
このため、空文字のデータを数値型項目にセットしようとした場合にエラーとなります。
固定長アダプタのファイル読み取り処理では、データのないカラムの値は設定によってnullまたは空文字で読み取ります。nullまたは空文字になる条件は、参考情報のヘルプをご参照ください。
■回避策
Mapperのnull/空文字の変換ロジックを使用して、0 など、空文字を任意の数値に変換してください。
詳細は参考情報をご参照ください。
参考情報
・固定長ファイル読み取り処理 - nullと空文字について
https://www.hulft.com/help/ja-jp/DataSpider/latest/help/ja/adapter/file/fixedlength_get_data.html