Невозможно установить CLASSPATH с конфликтующим CLI: java. sql .SQLException: не найден подходящий драйвер для jdb c: oracle: тонкий - PullRequest
3 голосов
/ 01 апреля 2020

Я хочу использовать разъем JDB C на confluent. Он не работает, когда я запускаю соединение с 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

, но , когда я устанавливаю CLASSPATH, тогда вышеуказанный код работает нормально и передает данные в Oracle.

export CLASSPATH=/home/my_confluent/confluent-5.4.1/share/java/kafka-connect-jdbc/ojdbc6.jar

Но все же я не могу сделать то же самое с connect услугой.

Когда я запускаю confluent connect

confluent local start connect

, выдает ту же ошибку.

Ответы [ 3 ]

1 голос
/ 02 апреля 2020

Confluent CLI использует Golang для запуска сценариев под ним, что может объяснить, почему экспорт переменных Java Speci c не работает, однако, учитывая, что если вы export CLASSPATH=/any/path/to/jdbc-drivers/*.jar, то выполните любой процесс в том же терминальном процессе, он должен наследовать эти переменные.

confluent local start connect внутренне вызывает некоторую exec.command("connect-distributed") функцию, которая, таким образом, является вызовом метода Java, который проходит через kafka-run-class.sh, который наследует переменную CLASSPATH

0 голосов
/ 01 апреля 2020

Наконец-то я нашел решение после многих попыток.

Я скопировал ojdbc6.jar файл в папку /home/ersin/confluent-5.4.1/share/java/kafka/ и перезапустил службу подключения, и она работает как чудо.

для вашей информации

0 голосов
/ 01 апреля 2020

Драйвер JDB C должен находиться в той же папке, что и разъем приемника JDB C.

Так что, если ваш приемник JDB C (kafka-connect-jdbc-5.4.1.jar) находится в etc/kafka-connect-jdbc, поместите ojdbc6.jar в эту папку.

Редактировать : после размещения здесь драйвера JDB C необходимо перезапустить работника Kafka Connect.

? Я записал и записал детали всего этого процесса здесь: https://rmoff.dev/fix-jdbc-driver

enter image description here

...