Is there any way to access the Error Tables in case there is an error while fastload process, As selecting from error table throws an error saying table is being loaded ? If not how can we know due to which row the load has paused ?
The load is paused when there is some issue in the script. Error tables only capture the issues in data.
To rectify the issue, go through the Fastload script log. You can create the loag file as follows:
fastload < script > C:\fload_Log.txt
Once this log file is created, analyse it for the potential issue and fix.
recreate the target table and rerun the fastload script.
You can see the entries in error tables, but right now you have issue in your script, that's why error tables are not accessible.
You can use these queries to see the data in error tables:
select distinct errorcode, errorfieldname from error_table1;
select * from error_table2;
But after resolving the issue in the script or in the data , once the script runs fine these error tables will be dropped. So when can we actually utilize these error tables ?
These error tables are dropped by default if there are no error records in these error tables.
The tables are retained only when the there are rows in error tables.
Duplicate records are simply discarded and are not captured in error tables.
If you just want to understand the structure of these error tables, it is as follows:
But again fastload script can only run if there is no issue in the data and if that is resolved error tables are dropped. For instance, if data has a UPI voilation then this row will go into the error table 2 and process will be paused until this is resolved tables are locked, so we cannot see the error table entries. Once this voilation is resolved and fastload restarted, fastload goes fine and error tables are dropped. So my confusion remains unanswered. Please clarify.
It is the target table that gets locked, error tables are available to analyse the issues.
Can you share the falstload job logs to understand the issue properly.
Hey Khurram, I have got the answer for the question, after injecting an error in the record that record was discarded and loaded in the error table that could be accessed even after fastload completes so that we can access the reason of error. Thanks for ur help.