I'm having an issue with a (what should be) relatively simple fastload script but I can't seem to figure it out.
I have a process which writes the output of a specific directory to a .csv file and I need to load that csv file to a table.
Contents of the file:
My target table definition:
CREATE SET TABLE HTRMU.T_FILETEMP ,NO FALLBACK , NO BEFORE JOURNAL, NO AFTER JOURNAL, CHECKSUM = DEFAULT, DEFAULT MERGEBLOCKRATIO ( MCLS_SVR_RCV_DT_TM TIMESTAMP(0), filename VARCHAR(50) CHARACTER SET LATIN NOT CASESPECIFIC) PRIMARY INDEX ( MCLS_SVR_RCV_DT_TM );
Currently all records are failing with 6760 in my error1 table when I call the FL script.
SESSIONS 5; TENACITY 5; SLEEP 5; ERRLIMIT 50; .logon xxxxxxxxxxxxxxxxxxxxxxxxxxxx; DATABASE HTRMU; DEL FROM T_FILETEMP ALL; DROP TABLE Error1; DROP TABLE Error2; .SET RECORD VARTEXT ","; DEFINE MCLS_SVR_RCV_DT_TM (VARCHAR(22)), FILENAME (VARCHAR(50)) FILE=lsoutput.csv; SHOW; BEGIN LOADING T_FILETEMP ERRORFILES Error1,Error2; INSERT INTO T_FILETEMP VALUES( :MCLS_SVR_RCV_DT_TM, :FILENAME); END LOADING; .LOGOFF; .QUIT;
I tried explicitly casting the field as such -- :MCLS_SVR_RCV_DT_TM (TIMESTAMP(0), FORMAT 'YYYYMMDDBHH:MI:SS') and that didn't help either.
Can anyone point out what I am missing?
I see that you fixed it, but I think your problem was that the data was surrounded by ' characters.
I think you'll find FL was expecting the content to be: