oracle-databaseapache-kafkadebezium

Debezium Source Connector to Oracle Databse transform `RAW(16)` to Guid string


I have an Oracle database table with the following schema:

CREATE TABLE TABLE_NAME (
    rowno RAW(16) PRIMARY KEY,
    cust NUMBER(10,0)
);

When I connect Debezium to the table, the message field for rowno returns KwnMrgaqRaqi8d0OTARySQ==, rather than the proper value (i.e. GUID value 2b09ccae06aa45aaa2f1dd0e4c047249).

I would like the Source Connector to have a transformation that converts the rowno value into a GUID string before streaming it to Kafka. It is important to me this be done in the Source Connector because I don't want to have to add the deserialization logic needed to convert to KwnMrgaqRaqi8d0OTARySQ== to a Guid in all of the downstream consumers.

Any ideas?


Solution

  • A RawToString transform was added to Debezium to address this. See DBZ-7753 for more details.