无法使用融合的CLI设置CLASSPATH:java.sql.SQLException:找不到适用于jdbc:oracle:thin的合适驱动程序

问题描述 投票:3回答:3

我想在confluent上使用JDBC连接器。当我开始使用Confluent CLI连接时,它不起作用。

confluent local start connect

并给出此错误:

Caused by: java.sql.SQLException: No suitable driver found for jdbc:oracle:thin:@10.10.10.10:1954/MYSERVICE

我停止连接并手动启动connect-distributed,或独立运行时出现相同的错误

./bin/connect-distributed etc/schema-registry/connect-avro-distributed.properties

但是when I set CLASSPATH则上述代码可以正常工作并将数据传输到Oracle。

CLASSPATH

但是仍然无法使用export CLASSPATH=/home/my_confluent/confluent-5.4.1/share/java/kafka-connect-jdbc/ojdbc6.jar 服务执行相同的操作。

[当我举起connect

confluent connect

它给出相同的错误。

oracle jdbc apache-kafka apache-kafka-connect confluent
3个回答
0
投票

最后经过多次尝试,我找到了解决方案。

我已将confluent local start connect 文件复制到ojdbc6.jar文件夹中,然后重新启动连接服务,并且它像魅力一样运转。

供参考


0
投票

JDBC驱动程序必须与JDBC接收器连接器位于同一文件夹中。

因此,如果JDBC接收器连接器(/home/ersin/confluent-5.4.1/share/java/kafka/)在kafka-connect-jdbc-5.4.1.jar中,则将etc/kafka-connect-jdbc放在该文件夹中。


0
投票

The Confluent CLI使用Golang在下面启动脚本,因此可以解释为什么导出Java特定变量不起作用的原因,但是,假设您ojdbc6.jar,则在同一终端进程中运行any进程,它应该继承那些变量。

[export CLASSPATH=/any/path/to/jdbc-drivers/*.jar内部调用某些confluent local start connect)函数,这是通过exec.command("connect-distributed"运行的Java方法调用>

© www.soinside.com 2019 - 2024. All rights reserved.