FastLoad错误 — RDBMS error 2634

时间:2021-08-01 15:50:44
我们来看一下下面这条语句:
BEGIN LOADING stu_fl
ERRORFILES error_1, error_2;
 
如果此时已经存在error_1或error_2表,那么将会报错,信息如下:
0008 BEGIN LOADING stu_fl
ERRORFILES error_1, error_2; **** 07:41:08 Number of FastLoad sessions requested = 4
**** 07:41:08 Number of FastLoad sessions connected = 2
**** 07:41:08 FDL4808 LOGON successful
**** 07:41:08 RDBMS error 2634: Existing ERROR table(s) or Incorrect use of stu_fl in Fast Load operation.
**** 07:41:08 Delete the Error Tables or fix the BEGIN LOADING statement
查了下手册,错误代码2634的相关信息如下:
2634 Existing ERROR table(s) or Incorrect use of
%TVMID in Fast Load operation.
Explanation: This error occurs if the table/error table(s) specified either;
(a) existed before the start of the Fast Load, or
(b) did not indicate that it was involved in this specific Fast Load.
 
Notes: This error means either that the user has referenced existing tables for the ERRORFILES in a Fast Load that is not restarting, or that incorrect tables were
referenced in a restart of a Fast Load.
 
Remedy: If this is not a restart of a previous Fast Load, delete the referenced error files. If this is a restart, correct the Begin Loading Statement so that the error files are those specified for the original Fast Load.
 
 
我们很明显地可以看出,这个错误的原因是我们在不是restarting的fastload中,ERRORFILES引用了已经存在的表。
 
 
解决办法:
 
在fastload开始之前加入以下语句删除errorfiles所指定的表:
 
DROP TABLE error_1; /* error table ,internal to fast load utility needed to be defined */
DROP TABLE error_2; /* error table ,internal to fast load utility needed to be defined */
 
 
总结:
BEGIN LOADING stu_fl
ERRORFILES error_1, error_2;
 
1. 在一个不是restarting的fastload中,如果errorfiles指定的表已经存在,就会报2634的错;
2. 如果fastload的过程中不出错,error_1, error_2是不会自动生成的;
3. 我们可以select * from error_1;查看相关的错误信息;