我的Debezium 3.0.8。我设置了源SQL连接器,该连接器从CDC SQL Server(MSSQL)生成数据。尝试设置带有Varbinary Field的表

问题描述 投票:0回答:0
{ "after": { "Value": { "Field0": "ÞÊ0T", "Field1": 4 } }, .....

所以这部分对我来说还可以。当我尝试运行时,它会失败:

{ "type": "record", "name": "Envelope", "namespace": "test.Domino.dbo._del_test_kafka25_2", "fields": [ { "name": "before", "type": [ "null", { "type": "record", "name": "Value", "fields": [ { "name": "Field0", "type": "bytes" }, { "name": "Field1", "type": "int" } ], "connect.name": "test.Domino.dbo._del_test_kafka25_2.Value" } ],

我打开了跟踪记录并得到了:
io.debezium.connector.jdbc.JdbcSinkConnector

I浏览了Debezium和JDBC源的来源,我认为根本原因是Debezium Type type的某种值是为
Caused by: com.microsoft.sqlserver.jdbc.SQLServerException: The conversion from UNKNOWN to VARBINARY is unsupported
而不是

Bind field 'Field0' at position 2 with type io.debezium.connector.jdbc.type.connect.ConnectBytesType: java.nio.HeapByteBuffer[pos=0 lim=5 cap=5]

创建的,而不是Microsoft JDBC驱动程序。
有人可以帮助解决方案吗?

挖掘源代码后,我认为

因此,问题在于,从字节类型到JDBC接收器中的Varbinary SQL Server类型没有正确的处理。提出了解决此问题的PR:
Https://github.com/debezium/debezium/debezium/pull/6235

postgres的几个时间之前的问题是:

https://github.com/debezium/debezium-connector-jdbc/pull/36
    

apache-kafka jdbc debezium mssql-jdbc
最新问题
© www.soinside.com 2019 - 2025. All rights reserved.