SQL*Loaderにて下記の内容をDBに挿入しようとしています。
キー項目にスペースが入力されているデータについて、
直接insert文で挿入する際にはエラーとなりませんが、
SQL*Loaderにて挿入する場合にはエラーとなります。
どなたか、回避方法をご教授いただけないでしょうか?
【セット項目】
①会社CD : '01'
②店舗CD : ' '(スペース3桁)
③処理区分:'A'
※①、②のみキー項目
【CTLファイル】
OPTIONS( --決まり文句
--ロード対象レコード行数(「-1」を指定すると無限大)
LOAD=-1,
--スキップレコード行数
SKIP=0,
--エラー許容数(「-1」を指定すると無限大)
ERRORS=-1,
--コミットをかけるタイミング(「-1」を指定すると無限大)
ROWS=-1
)
LOAD DATA --決まり文句
--読み込むファイル
INFILE '/tmp/TargetTable_setData.csv'
--不良ファイル。ロードしようとしてはじかれたレコード
BADFILE '/tmp/TargetTable_badfile.log'
--廃棄ファイル。ロード対象として不正とみなされたレコード
DISCARDFILE '/tmp/TargetTable_discardfile.log'
--データを追加登録
APPEND
--登録先テーブルの指定
INTO TABLE TargetTable
FIELDS --決まり文句
--区切り文字の設定(カンマ(,))
TERMINATED BY ","
--囲い文字はダブルクォート(")
OPTIONALLY ENCLOSED BY "'"
--データの無い項目にNULLを入れるようになります。
TRAILING NULLCOLS
--対象レコードの指定
(
CD_KAISYA,
CD_TENPO,
KB_SYORI,
)
【エラー内容】
ROWSパラメータに使用される値が8323541から70に変更されました
レコード1: 拒否されました。- 表TargetTable,列CD_TENPOでエラーが発生しました。
ORA-01400: ("test"."TargetTable"."CD_TENPO")にはNULLは挿入できません。

回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/10/29 13:03