我从sql加载程序获取下面的日志消息。这条消息是“行未加载,因为所有WHEN子句都失败了。”一个真正的错误? 最后,我有一条日志消息,称总记录读取为74256.在ctl控制文件中,我看到每行 中记录类型的38-39个字符,并基于它我将插入到不同的表中。SQL加载程序错误
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
样品CTL文件
OPTIONS(ERRORS = 9999999999,SILENT =(反馈),ROWS = 1000)
负载数据
成表test_HD
附加
时(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
)
成表test_AS
追加
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
}
也许如果你发布了一个没有加载的记录样本,你认为应该发生在他们和你的控制文件的相关部分,你可能会得到一个有用的回应。据我所见,你有一个74256记录的源文件,其中一些被加载到一个表中,其中一些被加载到另一个表中。我其实没有看到任何问题。 – 2010-11-26 05:39:34
显然你的控制文件中有一个WHEN子句,所以你应该发布该控制文件和一些被跳过的行(正如Gary已经提到的) – 2010-11-26 08:40:01