When you configure a dynamic lookup cache, you must associate each lookup port with an input port, input/output port, a sequence ID, or an expression. When you choose an input/output port, the Designer associates the input/output port with the lookup/output port used in the lookup condition. When you configure an expression, the Integration Service updates the cache with the result of the associated expression. The expression can contain input values or values from the lookup cache.
To associate a lookup port with an input/output port, click the Associated Expression column for a lookup port. Select a port from the list.
To create an expression, click the Associated column for the lookup port. Choose Associated Expression from the list. The Expression Editor appears.
To create a generated key for a column in the target table, select
Sequence-ID
in the Associated Expression column. You can associate a generated key instead of an input port for lookup ports with the Bigint, Integer, or Small Integer datatype. For Bigint lookup ports, the generated key maximum value is 9,223,372,036,854,775,807. For Integer or Small Integer lookup ports, the generated key maximum value is 2,147,483,647.
When you select Sequence-ID in the Associated Expression column, the Integration Service generates a key when it inserts a row into the lookup cache.
The Integration Service uses the following process to generate sequence IDs:
When the Integration Service creates the dynamic lookup cache, it tracks the range of values for each port that has a sequence ID in the dynamic lookup cache.
When the Integration Service inserts a row of data into the cache, it generates a key for a port by incrementing the greatest sequence ID value by one.
When the Integration Service reaches the maximum number for a generated sequence ID, it starts over at one. The Integration Service increments each sequence ID by one until it reaches the smallest existing value minus one. If the Integration Service runs out of unique sequence ID numbers, the session fails.
The Integration Service generates a sequence ID for each row it inserts into the cache.