Is there a way to redirect where the error tables are created in a JDBC Fastload operation?
My scenario is loading a staging table in a schema/database where the ID doing the load does not have CREATE TABLE privs. As per company standards the error tables are typically created in a separate database.
As an example, my SQL statement is of the form:
INSERT INTO STG.MYTABLE (?,?,?);
And I would like to have the error tables created in the S_UTL schema.
Is this possible with JDBC Fastload?
No, JDBC FastLoad does not enable the application to choose the database name for the error tables. JDBC FastLoad uses the same database name for the error tables as for the destination table.
both the fastload error tables are getting dropped as soon the JDBC fastload job completes. This happenes even when the error tables have error record entry. Is there a way with JDBC fastload to persist the error table?
Generally speaking, there is no need for the JDBC FastLoad error tables to persist. The FastLoad error information is provided to your application as an exception chain.
Please remember that JDBC FastLoad is intended to be a drop-in replacement for a regular SQL PreparedStatement batch insert, which does not produce error tables, so JDBC FastLoad hides the implementation details of the error tables from the application, and instead provides the error information to the application in a more JDBC-centric manner.
For a TYPE=FASTLOAD connection, when the FastLoad operation is complete, if the FastLoad error tables contain error information, the Teradata JDBC Driver automatically retrieves the error information from the error tables and composes an exception chain. Then the Teradata JDBC Driver automatically drops the FastLoad error tables. Your application must obtain the error information from the exception chain. Please refer to the JDBC FastLoad sample programs that illustrate how your application should access the exception chain.