Hello Everybody,
I have a strange issue with the Oracle connector that is blocking a POC I'm creating.
I was able to set everything up, and get the events posted in Kafka using the Logminer configuration, however, while strings are displayed ok, using the Kafka console consumer the Json message shows the integer fields in the Database in some kind of "almost" BASE64 string.
I tried to configure the connector specifying "decimal.handling.mode": "precise" , but nothing changes.
I see something like this:
ORACLE
- INSERT INTO TESTTABLE
- VALUES (1,'hey hey hey hey');
- COMMIT;
Console Output:
"payload":{"before":null,"after":{"ID":"AQ==","VALUE":"hey hey hey hey"}
"AQ==" really seems like base64, but it's definitely not the base64 equivalent of 1 (which is "MQ==")
Here are the details of my environment:
- Local Docker connector built with compose
- Oracle 19c hosted on AWS RDS
docker-compose.yaml is attached
This is the connector configuration I'm deploying:
{
"name": "inventory-connector",
"config": {
"connector.class" : "io.debezium.connector.oracle.OracleConnector",
"tasks.max" : "1",
"database.hostname" : XXXXXXXXXXXX",
"database.port" : "1521",
"database.user" : "LOGMINER",
"database.password" : "XXXXXXXXX",
"database.dbname" : "XXX",
"database.schema" : "XXX",
"database.connection.adapter" : "LOGMINER",
"database.history.kafka.bootstrap.servers" : "kafka:9092",
"database.history.kafka.topic": "schema-changes.inventory",
"snapshot.mode": "schema_only"
}
}
Any idea of what's going on?
Regards