Lookup Transformation in SSIS

Lookup Transformation

The Lookup transformation performs lookups by joining data in input columns with columns in a reference dataset.

 You use the lookup to access additional information in a related table that is based on values in common columns.

You can configure the Lookup transformation in the following ways:

  • Select the connection manager that you want to use. If you want to connect to a database, select an OLE
  • DB connection manager. If you want to connect to a cache file, select a Cache connection manager.
  • Specify the table or view that contains the reference dataset.
  • Generate a reference dataset by specifying an SQL statement.
  • Specify joins between the input and the reference dataset.
  • Add columns from the reference dataset to the Lookup transformation output.
  • Configure the caching options.

The Lookup transformation has the following inputs and outputs:

  • Input.
  • Match output. The match output handles the rows in the transformation input that match at least one entry in the reference dataset.
  • No Match output. The no match output handles rows in the input that do not match at least one entry in the reference dataset. If you configure the Lookup transformation to treat the rows without matching entries as errors, the rows are redirected to the error output. Otherwise, the transformation would redirect those rows to the no match output.
  • Error output.

    Step 1: Drag and Drop Lookup component and go Edit mode.


    Step 2: Select No Cache Mode ,Connection Type is OLE DB Connection and Redirect Rows to no match output.


    Step 3: In the Connection Tab, select the OLE DB Connection for your database and select the SQL Query option. Please use the following query.

    select LookUpValueID, v.value from Lookupvalue v inner join Lookup l on v.LookUPID = l.LookupID where l.Code ='Gender'



    Step 4: Connect the Match output to ADO.net Destination datasource and No Match output to the Flat file destination.


    Step 5: Execute the Package.


    Step 6: After executing the package, see the results in SQL Server and the flat file.


Let me explain the comparison/matching behavior of lookup transformation: It matches data differently when in cached (default) and non-cached (Enable memory Restriction) mode. In cached mode comparison will be case sensitive where as in non-cached mode comparison will be based on collation level of column being matched.

Mode :: Behavior

Cached (default) :: Case sensitive
Non-cached (Enable memory restrictions) :: Collation level of column


It basically depends where the comparision is done. In cached mode SSIS reterives data from the source and comparision is done at the client on the byte level which is CASE SENSITIVE. Whereas in Non-Cache mode ( Enable memory Restriction) comparision is done at database and is based on the collation level of the column being matched.

Up Next
    Ebook Download
    View all
    View all