Fastload I/O error 42 on flat file

Tools & Utilities
Enthusiast

Fastload I/O error 42 on flat file

Hello,

I read all the other comments on similar problems, but I still cannot resolve my issue. I am trying to load a single line of a csv file into a simple table. Below is the fast load script:

C:\Teradata_Load_Process\PG>Fastload < PG_fastload_Client_Holiday.txt

     ===================================================================

     =                                                                 =

     =          FASTLOAD UTILITY     VERSION 14.10.00.03               =

     =          PLATFORM WIN32                                         =

     =                                                                 =

     ===================================================================

     ===================================================================

     =                                                                 =

     =          Copyright 1984-2013, Teradata Corporation.             =

     =          ALL RIGHTS RESERVED.                                   =

     =                                                                 =

     ===================================================================

**** 08:25:05 Processing starting at: Thu Jun 26 08:25:05 2014

     ===================================================================

     =                                                                 =

     =          Logon/Connection                                       =

     =                                                                 =

     ===================================================================

0001 LOGON xxxxx/xxxxx,

**** 08:25:05 Teradata Database Release: 14.10.00.12

**** 08:25:05 Teradata Database Version: 14.10.00.14

**** 08:25:05 Number of AMPs available: 96

**** 08:25:05 Current CLI or RDBMS allows maximum row size: 64K

**** 08:25:05 Character set for this job: ASCII

0002 DATABASE TESTDB_LAND ;

**** 08:25:05 Command completed successfully

0003 DROP TABLE Client_Holiday_errors1;

**** 08:25:05 RDBMS error 3807: Object 'Client_Holiday_errors1' does

              not exist.

0004 DROP TABLE Client_Holiday_errors2;

**** 08:25:05 RDBMS error 3807: Object 'Client_Holiday_errors2' does

              not exist.

0005 CREATE MULTISET TABLE "Client_Holiday" ( HolidayId         SMALLINT NOT NULL ,

                                              HolidayName       VARCHAR(50) CHARACTER SET UNICODE NOT NULL CASESPECIFIC  ,

                                              IsActive          BYTEINT NOT NULL ,

                                              NumberDaysBefore  SMALLINT NOT NULL ,

                                              NumberDaysAfter   SMALLINT NOT NULL ,

                                              IsForcedIntoModel BYTEINT NOT NULL ,

                                              IsTimeWeighted    BYTEINT NOT NULL ,

                                              IsExposed         BYTEINT NOT NULL  ) ;

**** 08:25:06 Command completed successfully

     /*SET RECORD FORMATTED;*/

0006 DEFINE HolidayId         (SMALLINT),

            HolidayName       (VARCHAR(200)),

            IsActive          (BYTEINT),

            NumberDaysBefore  (SMALLINT),

            NumberDaysAfter   (SMALLINT),

            IsForcedIntoModel (BYTEINT),

            IsTimeWeighted    (BYTEINT),

            IsExposed         (BYTEINT)

     FILE=C:\Teradata_Load_Process\PG\Client_Holiday1.csv;

**** 08:25:06 FDL4803 DEFINE statement processed

0007 BEGIN LOADING "Client_Holiday"

         ERRORFILES Client_Holiday_errors1, Client_Holiday_errors2

         INDICATORS ;

**** 08:25:06 Indicator mode is set to ON

**** 08:25:06 Session count 24 returned by the DBS overrides

              user-requested session count

**** 08:25:09 Number of FastLoad sessions connected = 24

**** 08:25:09 FDL4808 LOGON successful

**** 08:25:10 Number of AMPs available: 96

**** 08:25:10 BEGIN LOADING COMPLETE

     ===================================================================

     =                                                                 =

     =          Insert Phase                                           =

     =                                                                 =

     ===================================================================

0008 INSERT INTO "Client_Holiday" ( HolidayId, HolidayName, IsActive,

                                    NumberDaysBefore, NumberDaysAfter,

                                    IsForcedIntoModel, IsTimeWeighted,

                                    IsExposed )

         VALUES ( :HolidayId, :HolidayName, :IsActive, :NumberDaysBefore,

                  :NumberDaysAfter, :IsForcedIntoModel, :IsTimeWeighted,

                  :IsExposed ) ;

**** 08:25:10 I/O Error on File Checkpoint: 42, Text: Unable to obtain

              data signature Unexpected data format !ERROR! EOF

              encountered before expected EOR

     ===================================================================

     =                                                                 =

     =          Logoff/Disconnect                                      =

     =                                                                 =

     ===================================================================

**** 08:25:10 Logging off all sessions

**** 08:25:12 Total processor time used = '1.8125 Seconds'

     .        Start : Thu Jun 26 08:25:05 2014

     .        End   : Thu Jun 26 08:25:12 2014

     .        Highest return code encountered = '12'.

**** 08:25:12 FastLoad Paused

In the file Client_Holiday1.csv the actual row consists of the following (Copied and pasted here..):

1,Christmas,t,7,0,f,t,t

This is the HEX equivalent below

312C4368726973746D61732C742C372C

302C662C742C740D0A


Thank you for your time and suggestions.

Boris.

5 REPLIES
Enthusiast

Re: Fastload I/O error 42 on flat file

I have also changed the flat file data to:

1,Christmas,1,7,0,0,1,1

312C4368726973746D61732C312C372C

302C302C312C310D0A

Junior Contributor

Re: Fastload I/O error 42 on flat file

Hi Boris,

to load CSV you need to

  • use SET RECORD DELIMITED instead of the default FORMATTED
  • specify the delimiter if it's not '|'
  • DEFINE all input as VARCHAR
Enthusiast

Re: Fastload I/O error 42 on flat file

Hi Dieter,

Thank you for your feedback. I have set it as you recommended and I am getting close. There is a new error that I don't know how to deal with.... Expected NULLIF

I have checked on the web for some direction on this, but nothing conclusive. Can you advise please ?...

Below is my script and the resulting log.

Thank you for your time.

Boris.

LOGON xxxxxxxxxxx/xxxxxx,xxxxxxx;

DATABASE TEST_LAND ;


DROP TABLE Client_Holiday;

DROP TABLE Client_Holiday_errors1;

DROP TABLE Client_Holiday_errors2;

CREATE MULTISET TABLE "Client_Holiday" ( HolidayId         SMALLINT NOT NULL ,

                                         HolidayName       VARCHAR(50) CHARACTER SET UNICODE NOT NULL CASESPECIFIC  ,

                                         IsActive          BYTEINT NOT NULL ,

                                         NumberDaysBefore  SMALLINT NOT NULL ,

                                         NumberDaysAfter   SMALLINT NOT NULL ,

                                         IsForcedIntoModel BYTEINT NOT NULL ,

                                         IsTimeWeighted    BYTEINT NOT NULL ,

                                         IsExposed         BYTEINT NOT NULL  ) ;

SET RECORD VARTEXT ',';

DEFINE HolidayId         (VARCHAR(10)),

       HolidayName       (VARCHAR(200)),

       IsActive          (VARCHAR(2)),

       NumberDaysBefore  (VARCHAR(5)),

       NumberDaysAfter   (VARCHAR(5)),

       IsForcedIntoModel (VARCHAR(2),

       IsTimeWeighted    (VARCHAR(2)),

       IsExposed         (VARCHAR(2))

FILE=C:\Teradata_Load_Process\DICKS57\PG\Client_Holiday1.csv;

BEGIN LOADING "Client_Holiday"

    ERRORFILES Client_Holiday_errors1, Client_Holiday_errors2

    INDICATORS ;   

INSERT INTO "Client_Holiday" ( HolidayId, HolidayName, IsActive, 

                               NumberDaysBefore, NumberDaysAfter, 

                               IsForcedIntoModel, IsTimeWeighted, 

                               IsExposed )

    VALUES ( :HolidayId, :HolidayName, :IsActive, :NumberDaysBefore, 

             :NumberDaysAfter, :IsForcedIntoModel, :IsTimeWeighted, 

             :IsExposed ) ;

END LOADING ;

LOGOFF ;


C:\Teradata_Load_Process\PG>Fastload < PG_fastload_Client_Holiday.txt

     ===================================================================

     =                                                                 =

     =          FASTLOAD UTILITY     VERSION 14.10.00.03               =

     =          PLATFORM WIN32                                         =

     =                                                                 =

     ===================================================================

     ===================================================================

     =                                                                 =

     =          Copyright 1984-2013, Teradata Corporation.             =

     =          ALL RIGHTS RESERVED.                                   =

     =                                                                 =

     ===================================================================

**** 07:40:18 Processing starting at: Fri Jun 27 07:40:18 2014

     ===================================================================

     =                                                                 =

     =          Logon/Connection                                       =

     =                                                                 =

     ===================================================================

0001 LOGON xxxxx/xxxxxx,

**** 07:40:19 Teradata Database Release: 14.10.00.12

**** 07:40:19 Teradata Database Version: 14.10.00.14

**** 07:40:19 Number of AMPs available: 96

**** 07:40:19 Current CLI or RDBMS allows maximum row size: 64K

**** 07:40:19 Character set for this job: ASCII

0002 DATABASE Dev_DicksSportingGoods_57_LAND ;

**** 07:40:19 Command completed successfully

0003 DROP TABLE Client_Holiday;

**** 07:40:19 Command completed successfully

0004 DROP TABLE Client_Holiday_errors1;

**** 07:40:19 RDBMS error 3807: Object 'Client_Holiday_errors1' does

              not exist.

0005 DROP TABLE Client_Holiday_errors2;

**** 07:40:19 RDBMS error 3807: Object 'Client_Holiday_errors2' does

              not exist.

0006 CREATE MULTISET TABLE "Client_Holiday" ( HolidayId         SMALLINT NOT NULL ,

                                              HolidayName       VARCHAR(50) CHARACTER SET UNICODE NOT NULL CASESPECIFIC  ,

                                              IsActive          BYTEINT NOT NULL ,

                                          NumberDaysBefore  SMALLINT NOT NULL ,

                                          NumberDaysAfter   SMALLINT NOT NULL ,

                                          IsForcedIntoModel BYTEINT NOT NULL ,

                                          IsTimeWeighted    BYTEINT NOT NULL ,

                                          IsExposed         BYTEINT NOT NULL  ) ;

**** 07:40:20 Command completed successfully

0007 SET RECORD VARTEXT ',';

**** 07:40:20 Now set to read 'Variable-Length Text' records

**** 07:40:20 Delimiter character(s) is set to ','

**** 07:40:20 Command completed successfully

0008 DEFINE HolidayId         (VARCHAR(10)),

            HolidayName       (VARCHAR(200)),

            IsActive          (VARCHAR(2)),

            NumberDaysBefore  (VARCHAR(5)),

            NumberDaysAfter   (VARCHAR(5)),

            IsForcedIntoModel (VARCHAR(2),

            IsTimeWeighted    (VARCHAR(2)),

            IsExposed         (VARCHAR(2))

     FILE=C:\Teradata_Load_Process\PG\Client_Holiday1.csv;

**** 07:40:20 DEFINE Syntax Error

**** 07:40:20 Expected NULLIF for: ISFORCEDINTOMODEL

     ===================================================================

     =                                                                 =

     =          Logoff/Disconnect                                      =

     =                                                                 =

     ===================================================================

**** 07:40:20 Logging off all sessions

**** 07:40:20 Total processor time used = '0.296875 Seconds'

     .        Start : Fri Jun 27 07:40:18 2014

     .        End   : Fri Jun 27 07:40:20 2014

     .        Highest return code encountered = '8'.

**** 07:40:20 FDL4818 FastLoad Terminated

Enthusiast

Re: Fastload I/O error 42 on flat file

I just noticed a syntax error on the line: IsForcedIntoModel (VARCHAR(2),

I am still having a problem, but I will trace a bit longer and get back here if I am stuck again...

Enthusiast

Re: Fastload I/O error 42 on flat file

For the benefit of someone else having difficulty, this script finally worked:

LOGON server/uid,password;

DATABASE TEST_LAND ;

DROP TABLE Client_Holiday;

DROP TABLE Client_Holiday_errors1;

DROP TABLE Client_Holiday_errors2;

CREATE MULTISET TABLE "Client_Holiday" ( HolidayId         SMALLINT NOT NULL ,

                                         HolidayName       VARCHAR(50) CHARACTER SET UNICODE NOT NULL CASESPECIFIC  ,

                                         IsActive          BYTEINT NOT NULL ,

                                         NumberDaysBefore  SMALLINT NOT NULL ,

                                         NumberDaysAfter   SMALLINT NOT NULL ,

                                         IsForcedIntoModel BYTEINT NOT NULL ,

                                         IsTimeWeighted    BYTEINT NOT NULL ,

                                         IsExposed         BYTEINT NOT NULL  ) ;

SET RECORD VARTEXT ",";

DEFINE HolidayId         (VARCHAR(10)),

       HolidayName       (VARCHAR(200)),

       IsActive          (VARCHAR(2)),

       NumberDaysBefore  (VARCHAR(5)),

       NumberDaysAfter   (VARCHAR(5)),

       IsForcedIntoModel (VARCHAR(2)),

       IsTimeWeighted    (VARCHAR(2)),

       IsExposed         (VARCHAR(2))

FILE=C:\Teradata_Load_Process\DICKS57\PG\Client_Holiday1.csv;

BEGIN LOADING "Client_Holiday"

    ERRORFILES Client_Holiday_errors1, Client_Holiday_errors2

CHECKPOINT 10000;

    /*INDICATORS ;*/  

INSERT INTO "Client_Holiday" ( HolidayId, HolidayName, IsActive, 

                               NumberDaysBefore, NumberDaysAfter, 

                               IsForcedIntoModel, IsTimeWeighted, 

                               IsExposed )

    VALUES ( :HolidayId, :HolidayName, :IsActive, :NumberDaysBefore, 

             :NumberDaysAfter, :IsForcedIntoModel, :IsTimeWeighted, 

             :IsExposed ) ;

END LOADING ;

LOGOFF ;