sql server - Use SSIS Lookup Transformation to update ADO .NET Destination table -
i have ssis package want use update column in datawarehouse staging table based on values of surrogate key mapping table contains surrogate key paired natural key. want use cache lookup update fact staging table contain surrogate key inventory dimention in same way following sql would.
update set a.dwhsurrogatekey = b.dwhsurrogatekey salestagingtable inner join inventorystagingtable on b.oltpinventorykey = a.oltpinventorykey unfortunately nature of data flow lookup transformation destination means creates whole new row, rather updating existing matched row. possible manipulate ssis this?
couple of constraints:
- my destination ado .net destination, , cannot use ole db destinations or sources (we need able use named parameters , can't ole db connections)
- i need multiple dimensions link them fact table, can't push mapped data new tables every time, becomes messy , hard manage
i'd able these guys have suggested ado connectors rather ole db:
http://redsouljaz.wordpress.com/2009/11/30/ssis-update-data-from-different-table-if-data-is-null/
http://www.rad.pasfu.com/index.php?/archives/46-ssis-upsert-with-lookup-transform.html
for such simple update use execute sql task , save hassle of having mess around data flows. if have lots of similar updates different fields , tables, store column , table names in foreach loop container using foreach item enumerator, add script task take item names , generate dynamic sql stored in variable, next add execute sql task , use sql variable.
Comments
Post a Comment