Исключение диалекта DB2 при попытке получения метки времени с помощью Confluent Connect - PullRequest
0 голосов
/ 09 октября 2019

Я вижу следующее исключение, когда настраиваю исходное соединение для чтения из таблицы в тему Kafka. Соединение с источником настроено для выполнения захвата на основе метки времени. Я использую образ докера для установки Kafka Connect. Похоже, что для захвата на основе временной метки существует запрос, который выполняется для системных таблиц, но он не работает.

Я прочитал в нескольких местах, что это из-за точки с запятой в запросе - 'SELECT CURRENT_TIMESTAMP (12) ИЗ SYSIBM.SYSDUMMY1; '

Это было особенно полезно при выяснении причины возникновения проблемы - https://github.com/confluentinc/kafka-connect-jdbc/issues/552

Однако я не уверен, какую версию confluentinc / cp-kafka-connect в DockerHub я могу использоватьимеет исправление.

ERROR Failed to get current time from DB using Db2 and query 'SELECT CURRENT_TIMESTAMP(12) FROM SYSIBM.SYSDUMMY1;' (io.confluent.connect.jdbc.dialect.Db2DatabaseDialect) com.ibm.db2.jcc.am.SqlSyntaxErrorException: DB2 SQL Error: SQLCODE=-104, SQLSTATE=42601, SQLERRMC=;;ROM SYSIBM.SYSDUMMY1;END-OF-STATEMENT, DRIVER=4.19.66 at com.ibm.db2.jcc.am.kd.a(kd.java:747) at com.ibm.db2.jcc.am.kd.a(kd.java:66) at com.ibm.db2.jcc.am.kd.a(kd.java:135) at com.ibm.db2.jcc.am.fp.c(fp.java:2788) at com.ibm.db2.jcc.am.fp.d(fp.java:2776) at com.ibm.db2.jcc.am.fp.a(fp.java:2209) 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.fp.lb(fp.java:2178) at com.ibm.db2.jcc.am.fp.a(fp.java:3289) at com.ibm.db2.jcc.am.fp.a(fp.java:714) at com.ibm.db2.jcc.am.fp.executeQuery(fp.java:693) at io.confluent.connect.jdbc.dialect.GenericDatabaseDialect.currentTimeOnDB(GenericDatabaseDialect.java:482) at io.confluent.connect.jdbc.source.TimestampIncrementingTableQuerier.endTimetampValue(TimestampIncrementingTableQuerier.java:203) at io.confluent.connect.jdbc.source.TimestampIncrementingCriteria.setQueryParametersTimestamp(TimestampIncrementingCriteria.java:164) at io.confluent.connect.jdbc.source.TimestampIncrementingCriteria.setQueryParameters(TimestampIncrementingCriteria.java:126) at io.confluent.connect.jdbc.source.TimestampIncrementingTableQuerier.executeQuery(TimestampIncrementingTableQuerier.java:176) at io.confluent.connect.jdbc.source.TableQuerier.maybeStartQuery(TableQuerier.java:92) at io.confluent.connect.jdbc.source.TimestampIncrementingTableQuerier.maybeStartQuery(TimestampIncrementingTableQuerier.java:60) at io.confluent.connect.jdbc.source.JdbcSourceTask.poll(JdbcSourceTask.java:310) at org.apache.kafka.connect.runtime.WorkerSourceTask.poll(WorkerSourceTask.java:244) at org.apache.kafka.connect.runtime.WorkerSourceTask.execute(WorkerSourceTask.java:220) at org.apache.kafka.connect.runtime.WorkerTask.doRun(WorkerTask.java:175) at org.apache.kafka.connect.runtime.WorkerTask.run(WorkerTask.java:219) 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)
------------------------------------------------------------------------
...