ODI Why not show Unique Key as option for incremental or merge (why PK only)?

1.1k Views Asked by At

When doing a mapping in ODI, when we are going to perform an incremental load it gives me the option to only use Primary Key (PK), but we use the PK in the table's unique identifier columns (the sequences - ID_COLUMN).

And for the unique keys we use the fields that will be used as keys for the table to insert or update the data.

That is, using PK in ODI would be wrong, because it is a sequential column. Is it possible to use the Unique Key? Because ODI does not offer this option.

2

There are 2 best solutions below

0
On BEST ANSWER

I found the solution.

When reverse engineering the tables, instead of selecting the "Standard" mode, you have to select the "Custom" mode, then the keys created physically in the database will be loaded.

I used Oracle's standard RKM to do this reverse engineering.

1
On

If you reverse engineer a datastore, and it has a primary key:

  1. Delete the primary key in your datastore (Models --> Constraints--> delete PK (right-click)).
  2. Drag and drop the datastore (table) in your map, then select a column and in properties, click the key checkbox (for update key), and save it.
  3. Again, reverse engineer the datastore for the primary key.

It would work...