Question

I get the below log message from sql loader. Is this message "Rows not loaded because all WHEN clauses were failed." a really error? At the end i have a log message saying total records read as 74256. In the ctl control file i see the 38-39 character for record type in each line and based on it i will insert into different tables.

Table TEST1_AA:

  42233 Rows successfully loaded.

  0 Rows not loaded due to data errors.

  32023 Rows not loaded because all WHEN clauses were failed.

  0 Rows not loaded because all fields were null.



Table IIR_TEST2_BB:

  0 Rows successfully loaded.

  0 Rows not loaded due to data errors.

  74256 Rows not loaded because all WHEN clauses were failed.

  0 Rows not loaded because all fields were null.



Table IIR_TEST3_CC:

  31 Rows successfully loaded.

  0 Rows not loaded due to data errors.

  74225 Rows not loaded because all WHEN clauses were failed.

  0 Rows not loaded because all fields were null.



Total logical records skipped:          0

Total logical records read:         74256

Total logical records rejected:         0

Total logical records discarded:        1

Sample CTL File

OPTIONS (ERRORS=9999999999, SILENT=(FEEDBACK), ROWS=1000)

load data


into table test_HD


append

when (038:039) = 'HD'

(

record_sequence_no POSITION(029:037) DECIMAL EXTERNAL

,line_type POSITION(040:040) CHAR

,header_record_type POSITION(041:041) CHAR

,enquiry_telephone_number POSITION(042:052) CHAR

,total_amt_last_bill POSITION(053:066) DECIMAL EXTERNAL

,total_payment_received POSITION(067:080) DECIMAL EXTERNAL

)

into table test_AS


append

when (038:039) = 'AS'

(

record_sequence_no POSITION(029:037) DECIMAL EXTERNAL

,line_type POSITION(040:040) CHAR

,girn POSITION(041:047) CHAR

,charge_desc POSITION(048:077) CHAR

}

Was it helpful?

Solution

It's not an error. The log is telling you that 72K records were not loaded anywhere because they did not satisfy any of your WHEN clauses.

In other words, out of 74256 records, 31 had 'HD' or 'AS' in positions 38 and 39, and the rest did not. You also had it skip one line (perhaps the first line is a header row).

That's a successful result if you were trying to load just the 'HD' and 'AS' records.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top