BADFILE
句を使用して、エラーのためにロードできない場合にレコードが書き込まれるファイルを指定します。たとえば、データ・ファイルのフィールドを外部表の列のデータ型に変換できなかった場合、不良ファイルにレコードが書き込まれます。不良ファイルの目的は、すべての拒否されたデータを調査および修正して、ファイルをロードできるようにすることです。不良レコードがあってもデータを修正しない場合は、NOBADFILE
オプションを使用して不良ファイルの作成を回避できます。
BADFILE
句を指定する場合、ディレクトリ・オブジェクト名またはファイル名(あるいはその両方)を指定する必要があります。詳細は、「[directory object name:] [filename]」を参照してください。
BADFILE
またはNOBADFILE
のいずれも指定しない場合、デフォルトでは1つ以上のレコードが拒否されると、不良ファイルが作成されます。このファイルの名前は、表名の後に_%p
が付いたものになり、拡張子.bad
が付けられます。
LOAD
WHEN
句が正常に実行されない場合、レコードは不良ファイルには書き込まれず、かわりに、廃棄ファイルに書き込まれます。また、外部表のレコードを使用中にエラーが発生する場合は(外部表に対してINSERT INTO...AS SELECT...
を使用した場合の制約違反など)、レコードは不良ファイルに書き込まれません。