- Insert flow does not use the Sequence anymore - the port is not connected as the column uses Identity property so the DB takes care of creating new value
- Update flow uses the Sequence fetched by the lookup to update the correct target row.
I got the following behavior when I tried to execute the workflow:
- Session has been initiated
- Source row have been read
- Just when I expected target rows to show up, the session failed. The last two lines in the sesssion log were like this:
INFO {Timestamp} {Node} {Thread} {Message Code} Start loading table [TableName] at:
FATAL {Timestamp} {Node} *********** FATAL ERROR : An unexpected condition occured in file [/export/home/builds/pc9x_root/910HF/build/powrmart/common/odl/msodbc/odbcdriver.cpp] line [511]. Aborting the DTM process. Contact Informatica Global Customer Support. ***********
It took me a while before finding the root cause. I've been working a lot lately with Sybase and I got used to using 'numeric identity' for a port type when the underlying table column was set to Identity. So after creating the target definition, I switched the port type from 'bigint' to 'numeric identity'. Here is the column definition in DB:
CREATE TABLE [dbo].[TableName] (
[Sequence] [bigint] IDENTITY(1,1) NOT NULL, ... )
There seems to be an issue with that, because after swiching back to bigint, the workflow run fine.
Thanks! I was going crazy! Your tip totally helped me! THANKS!
ReplyDelete