An Azure service for ingesting, preparing, and transforming data at scale.
Thanks for your help with this request. we have run through the advice given and it has resolved the issue we were having.
This browser is no longer supported.
Upgrade to Microsoft Edge to take advantage of the latest features, security updates, and technical support.
Environment
Approach:
The query successfully identifies CDC-enabled tables and passes the table names into the ForEach activity.
The ForEach activity successfully passes the current table name as a parameter into the Data Flow.
The Data Flow is configured to use this parameter to dynamically specify both the source and sink table/folder names.
For testing purposes I have used both:
The behavior is identical in both scenarios.
Problem
Although the Data Flow receives a different table name parameter on each iteration, the source data does not appear to refresh correctly.
For example, I have CDC enabled on the following AdventureWorks tables:
During pipeline execution:
This suggests that the source definition within the Data Flow is not being re-evaluated between iterations, even though the source parameter value changes.
Expected Behaviour
For each iteration of the ForEach loop:
I’ve attached two files to illustrate the behaviour. adf-input.txt is the Dataflow logs indicating the source table is SalesOrderDetail. Adf-output.txt demonstrates the schema which is that of AdventureworksLT Customer table.
Actual Behaviour
The table parameter changes on each iteration, but the data written to the sink always contains records from the first table processed (Customer).
The sink folder name may reflect the current table name, but the file contents do not.
Question
Is this expected behaviour or a known limitation of CDC sources in Mapping Data Flows when using dynamic source table names?
If supported, are there additional configuration requirements to ensure the CDC source is reinitialized for each Data Flow execution within a ForEach loop?Environment
Approach
The query successfully identifies CDC-enabled tables and passes the table names into the ForEach activity.
The ForEach activity successfully passes the current table name as a parameter into the Data Flow.
The Data Flow is configured to use this parameter to dynamically specify both the source and sink table/folder names.
For testing purposes I have used both:
The behaviour is identical in both scenarios.
Problem
Although the Data Flow receives a different table name parameter on each iteration, the source data does not appear to refresh correctly.
For example, I have CDC enabled on the following AdventureWorks tables:
During pipeline execution:
This suggests that the source definition within the Data Flow is not being re-evaluated between iterations, even though the source parameter value changes.
Expected Behaviour
For each iteration of the ForEach loop:
I’ve attached two files to illustrate the behavior.
adf-input.txt is the Dataflow logs indicating the source table is SalesOrderDetail. Adf-output.txt demonstrates the schema which is that of AdventureworksLT Customer table.
Actual Behavior
The table parameter changes on each iteration, but the data written to the sink always contains records from the first table processed (Customer).
The sink folder name may reflect the current table name, but the file contents do not.
Question
An Azure service for ingesting, preparing, and transforming data at scale.
Thanks for your help with this request. we have run through the advice given and it has resolved the issue we were having.