Unlock a world of possibilities! Login now and discover the exclusive benefits awaiting you.
I am using an Oracle DB as source endpoint and replicate into a Microsoft SQL Server 2019 target endpoint.
The documentation explicitly states that qlik replicate will not fire any triggers in the target DB.
How do I keep track of changes and react to new/changed data?
I need to process new data as soon as it is replicated into my target db, with minimum delay.
Hello @dan_stroebel , copy @Megha_More ,
Thanks for your comments here!
While SQL Server is target endpoint and option "Use BCP for loading tables" in Advanced tab is enabled then there is a limitation:
This is not Replicate itself limitation but SQL Server database behavior: By default, triggers are not fired in BCP mode. Please try to turn off BCP mode and see if triggers are fired as expected.
BTW, The bulk copy program utility (BCP) is used to gain best load performance, turning it off may impact the performance. Feel free to let me know if you need anything further.
Best Regards,
John.
If you want to keep the track on changed data then you need to enable stored changes option which is available while creating a task. This option will create ct(control table) so that you can see the entry of changed data.
Also, you can populate the new column with the timestamp of the time that the change was applied in the target.
datetime('now') returns Replicate host UTC time when the change was applied to the target.
datetime('now','localtime') returns Replicate host local time when change was applied to target.
Thanks a lot. I don't want to track changes specifically.
I want to react if an INSERT inserts a new row in the target database so I can immediately transform it.
Usually, you would do this with an INSERT trigger on the table to immediately process the inserted row.
Sind replicated rows do not fire triggers, this i not an option.
Running a job every 10 seconds works, but is a very dissatisfyxing solution.
You can see the insert count on change processing tab .
As u mentioned running a job every 10 seconds works, then you can schedule that task.
Hope this will help.
Hello @dan_stroebel , copy @Megha_More ,
Thanks for your comments here!
While SQL Server is target endpoint and option "Use BCP for loading tables" in Advanced tab is enabled then there is a limitation:
This is not Replicate itself limitation but SQL Server database behavior: By default, triggers are not fired in BCP mode. Please try to turn off BCP mode and see if triggers are fired as expected.
BTW, The bulk copy program utility (BCP) is used to gain best load performance, turning it off may impact the performance. Feel free to let me know if you need anything further.
Best Regards,
John.