ora-01882:使用 Kafka Connect JdbcSource 连接器找不到时区区域



我在使用 Kafka connect 时得到了著名的"ora-01882:找不到时区区域"。

我正在使用 ojdbc8.jar。

过去,当我使用 Kubernetes启动的 Java 程序中使用它时,我在 Kubernetes 配置的 args 字段中使用了以下 appraoch。

args: ["-Xms2g", "-Xmx2g", "-cp", "/app/entellect-fetcher-assembly.jar", "-Doracle.jdbc.timezoneAsRegion=false", "com.elsevier.entellect.fetcher.SqlFetcher"]

使用它解决了问题。

但是,当我使用汇合舵图时,args 不可用,因此我求助于使用融合文档中描述的 env 变量 (CONNECT_OPTS https://docs.confluent.io/5.0.0-beta1/cli/command-reference/index.html:

请看下面:

env:
- name: CONNECT_OPTS
value: "-Doracle.jdbc.timezoneAsRegion=false"
- name: CONNECT_REST_ADVERTISED_HOST_NAME
valueFrom:
fieldRef:
fieldPath: status.podIP
- name: CONNECT_BOOTSTRAP_SERVERS
value: {{ template "cp-kafka-connect.kafka.bootstrapServers" . }}
- name: CONNECT_GROUP_ID
value: {{ template "cp-kafka-connect.groupId" . }}

我在这方面并不成功。

我想知道以前是否有人经历过这种情况,他们是否可以分享他们的解决方案。无论是直接设置时区,还是如何设置我上面尝试过的内容,或者更改驱动程序等等。

我已经尝试过使用 odjbc6.jar 并且可以工作,但是对于某些数字,我得到了一些糟糕的反序列化。不知道为什么。因此,我想尝试使用 odjbc8.jar。

我想一定有某种方法:)

注意我到目前为止的配置:

connector.class=io.confluent.connect.jdbc.JdbcSourceConnector
connection.password=***********
transforms=
table.whitelist=ACTIVITYDATA
mode=bulk
topic.prefix=pp_db_
connection.user=pharmapendium4
name=PP
numeric.mapping=best_fit
value.converter=org.apache.kafka.connect.json.JsonConverter
connection.url=jdbc:oracle:thin:@xx.x.xx.xxx:1521:pp
numeric.precision.mapping=false
key.converter=org.apache.kafka.connect.json.JsonConverter

您可以编辑 jar 文件:ojdbc8.jar.

defaultConnectionProperties.properties,可以在 path:ojdbc8.jaroraclejdbc中找到。

在那里,您将添加一行:

oracle.jdbc.timezoneAsRegion=false

最新更新