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

时间:2019-07-17 22:38:07

标签: oracle apache-kafka-connect ojdbc

我正在使用著名的ora-01882:使用Kafka connect时找不到TimeZone Region。

我正在使用ojdbc8.jar。

过去,当我在Java程序中与Kubernetes共进午餐时, 我在Kubernetes配置的args字段中使用了以下方法。

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

使用此命令可以解决问题。

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

请参见下面:

     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

M

1 个答案:

答案 0 :(得分:0)

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

defaultConnectionProperties.properties,可以在路径ojdbc8.jar\oracle\jdbc上找到。

您将在其中添加一行:

oracle.jdbc.timezoneAsRegion=false