将DB2 iOS与Debezium和Kakfa Connect连接以进行CDC拉取时出现Java语言空指针错误

vshtjzan  于 2022-11-07  发布在  DB2
关注(0)|答案(2)|浏览(117)

我尝试通过Kafka Connect连接到DB2 iOS- Debezium for CDC从DB2表中提取数据,并在某个点卡住,出现以下错误。尝试了各种更改,但无法使其工作。有人遇到过此问题吗?或者是什么地方出错了,或者表明此问题?感谢您的帮助。下面提供了DB2属性文件。

[2022-01-21 22:29:50,043] ERROR Failed testing connection for 
dbc:db2://ABCD:123/Servername with user 'ABC' (io.debezium.connector.db2.Db2Connector:84)
com.ibm.db2.jcc.am.SqlSyntaxErrorException: DB2 SQL Error: SQLCODE=-104, SQLSTATE=42601, 
SQLERRMC=;;<END-OF-STATEMENT>, DRIVER=3.68.61
    at com.ibm.db2.jcc.am.gd.a(gd.java:749)
    at com.ibm.db2.jcc.am.gd.a(gd.java:66)
    at com.ibm.db2.jcc.am.gd.a(gd.java:135)
    at com.ibm.db2.jcc.am.uo.c(uo.java:2780)
    at com.ibm.db2.jcc.am.uo.d(uo.java:2768)
    at com.ibm.db2.jcc.am.uo.a(uo.java:2217)
    at com.ibm.db2.jcc.t4.bb.h(bb.java:141)
    at com.ibm.db2.jcc.t4.bb.b(bb.java:41)
    at com.ibm.db2.jcc.t4.p.a(p.java:32)
    at com.ibm.db2.jcc.t4.vb.i(vb.java:145)
    at com.ibm.db2.jcc.am.uo.ib(uo.java:2186)
    at com.ibm.db2.jcc.am.uo.a(uo.java:3267)
    at com.ibm.db2.jcc.am.uo.e(uo.java:1102)
    at com.ibm.db2.jcc.am.uo.execute(uo.java:1081)
    at io.debezium.jdbc.JdbcConnection.lambda$execute$2(JdbcConnection.java:433)
    at io.debezium.jdbc.JdbcConnection.execute(JdbcConnection.java:450)
    at io.debezium.jdbc.JdbcConnection.execute(JdbcConnection.java:427)
    at io.debezium.connector.db2.Db2Connector.validateConnection(Db2Connector.java:80)
    at io.debezium.connector.common.RelationalBaseSourceConnector.validate(RelationalBaseSourceConnector.java:54)
    at org.apache.kafka.connect.runtime.AbstractHerder.validateConnectorConfig(AbstractHerder.java:375)
    at org.apache.kafka.connect.runtime.AbstractHerder.lambda$validateConnectorConfig$1(AbstractHerder.java:326)
    at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
    at java.util.concurrent.FutureTask.run(FutureTask.java:266)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
    at java.lang.Thread.run(Thread.java:748)
    [2022-01-21 22:29:50,050] INFO Connection gracefully closed 
    (io.debezium.jdbc.JdbcConnection:965)
    [2022-01-21 22:29:50,052] INFO AbstractConfig values:      (org.apache.kafka.common.config.AbstractConfig:354)
    [2022-01-21 22:29:50,058] ERROR Failed to create job for kafka_2.12-2.6.3/config/connect- debezium-db2.properties (org.apache.kafka.connect.cli.ConnectStandalone:110)
    [2022-01-21 22:29:50,059] ERROR Stopping after connector error     (org.apache.kafka.connect.cli.ConnectStandalone:121)
    java.util.concurrent.ExecutionException: java.lang.NullPointerException
    at org.apache.kafka.connect.util.ConvertingFutureCallback.result(ConvertingFutureCallback.java:115)
    at org.apache.kafka.connect.util.ConvertingFutureCallback.get(ConvertingFutureCallback.java:99)
    at org.apache.kafka.connect.cli.ConnectStandalone.main(ConnectStandalone.java:118)
Caused by: java.lang.NullPointerException
    at org.apache.kafka.connect.runtime.AbstractHerder.maybeAddConfigErrors(AbstractHerder.java:605)
    at org.apache.kafka.connect.runtime.standalone.StandaloneHerder.putConnectorConfig(StandaloneHerder.java:215)
    at org.apache.kafka.connect.runtime.standalone.StandaloneHerder.lambda$null$1(StandaloneHerder.java:201)
    at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
    at java.util.concurrent.FutureTask.run(FutureTask.java:266)
    at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:180)
    at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:293)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
    at java.lang.Thread.run(Thread.java:748)

**DB2 Connect Properties**

name=db2-connector
connector.class=io.debezium.connector.db2.Db2Connector
tasks.max=1
database.server.name=ABCD
database.hostname=ABCD
database.port=123
database.user=DB2username
database.password=DB2password
database.dbname=dbname
database.server.id=1
database.history.kafka.bootstrap.servers=localhost:9092
database.history.kafka.topic=db_f0006
table.include.list=DEVLIB.F0006
tombstones.on.delete=false
include.schema.changes=true
wztqucjr

wztqucjr1#

Debezium与DB2 iSeries不兼容,我不知道有什么免费的工具可以将数据从DB2 iSeries复制到Kafka。只有商用工具可以做到这一点:IIDR(前DMIRROR IBM,数据分发(gamma-soft))

au9on6nz

au9on6nz2#

  • 错误消息com.ibm.db2.jcc....表示使用了db2jcc.jar。db2jcc.jar用于访问DB2 LUW
  • DB2 iOS(ibm i、iSeries、AS400)需要来自JTOpen的jdbc驱动程序jt400.jar

相关问题