当前位置: 首页 > 知识库问答 >
问题:

在连接Kafka Connect时,没有找到适合jdbc-Oracle的驱动程序

劳英华
2023-03-14

我正在尝试在独立模式下使用OracleJDBC8(ojdbc8.jar)在Kafka中运行oracle源代码连接器。我已经下载了confluent的jdbc JAR和ojdbc8。甲骨文网站上的jar。我已经在本地进行了测试,效果很好,但在我们的测试环境中,它抛出了以下错误:

No suitable driver found for jdbc:oracle:thin:@x.x.x.x:yyyy:zzz for configuration Couldn't open connection to jdbc:oracle:thin:@x.x.x.x:yyyy:zzz

完整错误消息:

ERROR Failed to create job for xyz/xyz.properties (org.apache.kafka.connect.cli.ConnectStandalone:110)
[2020-03-11 13:13:32,085] ERROR Stopping after connector error (org.apache.kafka.connect.cli.ConnectStandalone:121)
java.util.concurrent.ExecutionException: org.apache.kafka.connect.runtime.rest.errors.BadRequestException: Connector configuration is invalid and contains the following 2 error(s):
Invalid value java.sql.SQLException: No suitable driver found for jdbc:oracle:thin:@x.x.x.x:1521:xyz for configuration Couldn't open connection to jdbc:oracle:thin:@x.x.x.x:1521:xyz
Invalid value java.sql.SQLException: No suitable driver found for jdbc:oracle:thin:@x.x.x.x:1521:xyz for configuration Couldn't open connection to jdbc:oracle:thin:@x.x.x.x:1521:xyz

插件的路径也很好,因为它正在注册所有JAR。我在网上找到了一些修复方法,包括将插件路径放在CLASSPATH变量中。它不起作用,抛出了前面提到的错误。我也能ping和telnet的IP和端口分别。

我的连接器配置如下:

name=oracle-jdbc-connect
connector.class=io.confluent.connect.jdbc.JdbcSourceConnector
tasks.max=1
connection.url=jdbc:oracle:thin:@x.x.x.x:yyyy:zzz
connection.user=xyz
connection.password=xyz
query=SELECT cast(ID AS NUMBER(7, 0)) AS ID, NAME FROM sch.tbl
mode=incrementing
incrementing.column.name=ID
topic.prefix=topic-test
schema.pattern=sch
numeric.mapping=best_fit
dialect.name=OracleDatabaseDialect
timestamp.delay.interval.ms=5000
key.converter=org.apache.kafka.connect.json.JsonConverter
value.converter=org.apache.kafka.connect.json.JsonConverter
key.converter.schemas.enable=false
value.converter.schemas.enable=false
decimal.handling.mode=double
include.schema.changes=false

连接。不过,此处提供的用户在Oracle中具有“只读”权限。这会是个问题吗

独立连接。属性文件如下所示:

key.converter=org.apache.kafka.connect.json.JsonConverter
value.converter=org.apache.kafka.connect.json.JsonConverter
key.converter.schemas.enable=true
value.converter.schemas.enable=true
offset.storage.file.filename=/tmp/connect.offsets
offset.flush.interval.ms=10000
rest.host.name=x.x.x.x
rest.port=8877 # Some random port
plugin.path=/home/plugins/,/usr/share/java,/usr/local/share/kafka/plugins

Oracle版本:18c
Kafka版本:2.3.0
Scala版本:2.12.2

插件。路径:/home/插件

插件路径结构: /home/plugins/connectors/[文件夹,如资产,文档,库等],ojdbc8.jar.

在/home/plugins/connectors/lib内部,我有kafka-connect-jdbc-5.4.0。jar文件。

共有2个答案

哈朗
2023-03-14

如果您使用的是java11,请更新到ojdbc10。对于kafka,ojdbc8与java8兼容,ojdbc10与java11兼容。

王才
2023-03-14

您的ojdbc8.jar需要与Kafka Connect JDBC JAR位于同一文件夹中。

因此,如果Kafka Connect JDBC JAR位于/home/plugins/connect tors/lib中,那么将ojdbc8.jar也放入其中。

 类似资料:
  • 试图连接到允许远程连接的免费mysql数据库主机,但我遇到了以下错误: 未找到适合jdbc的驱动程序:mysql://xx2-23-x1-2x1-172.compuxe-1.xmazonaws.com:3306 我使用下面的代码。 编辑 Stack Trace显示在下面:

  • 我正在尝试使用以下代码将我的JavaMaven项目(在Jetty服务器上运行)连接到Google Cloud MySQL数据库: 我已经在pom中包含了这两个依赖项。xml: 我要走了 JAVAsql。SQLException:找不到适合jdbc的驱动程序:mysql://google... 我不知道该怎么办。我假设依赖项应该处理将JDBC驱动程序添加到我的类路径。

  • 我正在尝试在我的本地tomcat服务器中部署一个基于Spring的Web应用程序。以下是我的申请详情: > 基于Spring的web应用程序(war) Tomcat 6服务器 Java 1.6 Oracle数据库 以下是按jdbc配置列出的: 配置仅适用于雄猫设置。 我还在我的 /lib 文件夹中添加了 ojdbc6.jar,ojdbc14.jar 我毫无问题地部署了我的war文件。但是当我的应用

  • 我已经花了3个小时试图让我的Java程序与我的Postgres服务器接口。我无法通过错误消息“没有找到适合jdbc:postgresql://localhost:5432/gis的驱动程序”。这是一个Bukkit插件,我正在使用IntelliJ IDEA。 代码: 我尝试过的事情: > 直接将jdbc文件内部添加到jar文件中 在IntelliJ项目中添加jdbc文件作为依赖项 切换到maven,

  • 我按照java程序编写 我编译了这个程序并创建了jar文件 Jar具有以下清单文件 还包含文件 /folder/postgresql-8.4-703.jdbc3.jar.我通过命令启动了Sample.jar 结果我收到了以下信息 我从地址为192.168.1.10的主机启动了该文件,在主机192.168.1.8上它正常运行。帮助消除错误。

  • 我尝试了几个教程,我可以得到我的手,但他们都导致相同的错误: 18:28:24,583INFO[stdout](默认任务-1)数据库错误:找不到适合JDBC的驱动程序:postgresql://localhost:5432/postgres 我已经按照本教程配置了连接:如何使用WILDFLY设置POSTGRESQL数据源 并尝试了几种解决问题的方法。我尝试了管理控制台和配置文件。最常见的解决方案是