Как получить данные для более чем одной таблицы в Talend с помощью Oracle CDC?
Мы пытаемся подключить Talend к нашей базе данных Oracle 12c с помощью CDC. Компонент tOracleCDC использует Oracle XStream для фактической работы по сбору данных изменений. Проблема заключается в том, что при создании конечной точки CDC в Oracle создается "Исходящий сервер", который прослушивает изменения в ряде таблиц или даже во множестве схем.
В Talend при настройке компонента tOracleCDC одним из обязательных полей является "Таблица с использованием CDC", которая в сгенерированном коде Java используется для фильтрации входящих записей изменений, используя что-то вроде "TableName".equalsIgnoringCase(... )
Это означает, что мы можем получить изменения только для одной таблицы для данного соединения XStream (и каждому соединению потребуется уникальный объект исходящего сервера в базе данных).
Мы должны что-то упустить, как мы можем получить изменения для нескольких таблиц в Talend?
Спасибо!
1 ответ
Решение состоит в том, чтобы использовать пустую строку в качестве имени таблицы в Table Using CDC
поле. Это приведет к тому, что шаблонизатор не сгенерирует проверку имени таблицы, вызвавшую эту проблему.
Я не смог найти это нигде в документации, поэтому он может не поддерживаться, но изучение шаблонов показывает, что это предполагаемое поведение.