How do I get data for more than one table in Talend using Oracle CDC?

206 Views Asked by At

We are trying to connect Talend to our Oracle 12c database using CDC. The tOracleCDC component uses Oracle XStream to do the actual change data capture work. The issue is that when creating the CDC endpoint in Oracle one creates an "Outbound Server" which listens for changes on a number of tables, or even a number of whole schemas.

In Talend when configuring the tOracleCDC component one of the required fields is "Table Using CDC" which in the generated Java code is used to filter the incoming change records using something like "TableName".equalsIgnoringCase(... )

This means that we can only get changes for a single table for a given XStream connection (and each connection will require a unique outbound server object in the database).

We must be missing something, how can we pull changes for multiple tables in Talend?

Thanks!

1

There are 1 best solutions below

0
On

The solution is to use an empty string as the table name in the Table Using CDC field. This will cause the templating engine to not emit the table name check that was causing this problem.

I could not find this documented anywhere, so it might be unsupported, but examining the templates shows that it is the intended behavior.