{
"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