我们有一个使用Kafka Connect的数据复制解决方案。使用Debezium SqlServerConnector将数据读取到多个主题中,然后使用JdbcSinkConnector将数据写入PostgreSQL。每个主题/表都有专用的接收器。
现在,我们在其中一个接收器上出现错误:org.postgresql.util.PSQLException: ERROR: invalid byte sequence for encoding "UTF8": 0x00
复制的记录之一在文本列中包含一些不可打印的字符。消息已成功放置在Kafka主题中,但在接收器连接器写入目标表时失败。
目标表是自动创建的,我们使用“auto.create”: “true”
源字段(SQL Server):英瓦尔(400)
目标字段(PostgreSQL):正文
现在我们得解决它我有两个选择
1.(首选)找到按原样写入数据的方法,包括不可打印的字符
1.删除不可打印的字符,无论是在源连接器,还是在接收器。
我在寻找一些Kafka连接转换,我们可以使用,但没有运气到目前为止。
有什么建议吗?
1条答案
按热度按时间relj7zay1#
不完全是解决方案,但我已经设法解决了它的变通方案。它是在Kafka连接论坛上的这篇文章更详细地描述:https://forum.confluent.io/t/jdbcsinkconnector-error-on-insert-invalid-byte-sequence/7099/4?u=rgurskis