当我在 MySQL 上运行 kafka 连接源连接器时,一切运行正常,我正在使用时间戳策略,当我尝试使用不同的数据库时出现问题,在我的情况下,我试图从 db2 获取信息表,当我执行连接器时,出现以下错误:
ERROR Failed to get current time from DB using query select CURRENT_TIMESTAMP; on database DB2 (io.confluent.connect.jdbc.util.JdbcUtils:263)
com.ibm.db2.jcc.am.SqlSyntaxErrorException: DB2 SQL Error: SQLCODE=-104, SQLSTATE=42601, SQLERRMC=<END-OF-STATEMENT>;( CONCAT || / MICROSECONDS MICROSECOND SECONDS SECO, DRIVER=4.21.29
我认为它没有检测到数据库,它正在尝试执行查询:选择 CURRENT_TIMESTAMP
而且在db2中不行,所以我们需要指定数据库,有没有办法指定Driver类或者我们正在使用的数据库?
编辑
----我的连接器配置
{
"name": "test2-conn",
"config":
{
"mode":"timestamp",
"debug":true,
"poll.interval.ms":10000,
"timestamp.delay.interval.ms":60000,
"timestamp.column.name":"LAST_UPDATE_TIME",
"incrementing.column.name":"id",
"connector.class":"io.confluent.connect.jdbc.JdbcSourceConnector" ,
"connection.url":"jdbc:db2://url:port/db:currentSchema=schema",
"connection.password":"psswd",
"connection.user":"user",
"table.types":"VIEW",
"table.whitelist":"my_view",
"tasks.max":"1",
"topic.prefix":"gta-tors-platform",
"value.converter": "org.apache.kafka.connect.json.JsonConverter",
"key.converter":"org.apache.kafka.connect.storage.StringConverter",
"key.converter.schemas.enable":false,
"value.converter.schemas.enable":false,
"transforms":"createKey",
"transforms.createKey.type":"org.apache.kafka.connect.transforms.ValueToKey",
"transforms.createKey.fields":"EMP_NAME"
}
}
我正在使用 我正在使用 z/OS DB2 V11.1 模式 NFM
谢谢你的帮助