Showing posts with label Teradata. Show all posts
Showing posts with label Teradata. Show all posts

Wednesday, July 17, 2013

Query to Access Error Table when Infa Session fails while loading into Teradata target

    We may get error - '2652: Operation not allowed: <Error Table> is being loaded' while you are trying to access error table in Teradata.

Screen Shot of Error:




We need to lock the table in order to access this error table and below is the query

locking row for access  SELECT * FROM WRK.INFA_ET2_979525041610790

Here INFA_ET2_979525041610790 is error table name and WRK is database name.

Saturday, November 24, 2012

TPT load: Session failed with error: 'dmapper/trans/srcpipe.cpp'

       We are using Informatica 9.1.0 HotFix2 version , SQL server is source database and Teradata is target database. We changed the load type from ODBC to Teradata Parallel Transporter (TPT) and we got the below error when we start the session with TPT stream load. 

Error in Session Log:

Message:  *********** FATAL ERROR : An unexpected condition occurred in file [/export/home/builds/pc9x_root/910HF/build/powrmart/server/dmapper/trans/srcpipe.cpp] line [1268].  Aborting the DTM process.  Contact Informatica Global Customer Support. ***********  


Screenshot of failure








Reason for failure:
We have given Pre-SQL but TPT load does not support Pre/Post SQL.

Solution:

We removed Pre-SQL and ran the session and it got succeeded.

Monday, November 19, 2012

Number of affected records is not equal to number of records inserted

I have come across a situation where number affected records in session run properties is not matching with the number of records actually inserted into the table. Target database is Teradata and connection is ODBC. 

Details of the problem:

Number of affected records is not equal to number of records inserted into the table. 
what happened to remaining records? Is some roll back happened? 

Below are the screen shots of the issue:

Session Run Properties and Number of records in database:

Session Run Properties

Number of records in target table

















Reason: 
By default session mode of ODBC connection is 'Teradata'. When the session mode is Teradata then Teradata rolls back the transaction when it encounters an error. In the above situation, we had error records so Teradata rolled back the transaction hence the number of records in session properties is not equal to number of records inserted into table. 

Solution: 
Change the session mode to 'ANSI' by adding SessionMode=ANSI in DSN of the ODBC connection in odbc.ini file.

Note: changing the session mode to ANSI may fail other sessions if any session is using stored procedures complied in session mode=Teradata.