java.lang.RuntimeException: 无法解析 Oracle 数据库版本

java.lang.RuntimeException: Failed to resolve Oracle database version

我在 kafka 中使用 debezium oracle 连接器 connect.While 启动连接器时出现以下错误,

java.lang.RuntimeException: Failed to resolve Oracle database version
        at io.debezium.connector.oracle.OracleConnection.resolveOracleDatabaseVersion(OracleConnection.java:159)
        at io.debezium.connector.oracle.OracleConnection.<init>(OracleConnection.java:71)
        at io.debezium.connector.oracle.OracleConnector.validateConnection(OracleConnector.java:74)
        at io.debezium.connector.common.RelationalBaseSourceConnector.validate(RelationalBaseSourceConnector.java:52)
        at org.apache.kafka.connect.runtime.AbstractHerder.validateConnectorConfig(AbstractHerder.java:400)
        at org.apache.kafka.connect.runtime.AbstractHerder.lambda$validateConnectorConfig(AbstractHerder.java:351)
        at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
        at java.util.concurrent.FutureTask.run(FutureTask.java:266)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
        at java.lang.Thread.run(Thread.java:748)
Caused by: java.sql.SQLException: No suitable driver found for jdbc:oracle:thin:@**.**.*.**:1521/CDB
        at java.sql.DriverManager.getConnection(DriverManager.java:689)
        at java.sql.DriverManager.getConnection(DriverManager.java:208)
        at io.debezium.jdbc.JdbcConnection.lambda$patternBasedFactory[=11=](JdbcConnection.java:184)
        at io.debezium.jdbc.JdbcConnection$ConnectionFactoryDecorator.connect(JdbcConnection.java:121)
        at io.debezium.jdbc.JdbcConnection.connection(JdbcConnection.java:890)
        at io.debezium.jdbc.JdbcConnection.connection(JdbcConnection.java:885)
        at io.debezium.jdbc.JdbcConnection.queryAndMap(JdbcConnection.java:643)
        at io.debezium.jdbc.JdbcConnection.queryAndMap(JdbcConnection.java:517)
        at io.debezium.connector.oracle.OracleConnection.resolveOracleDatabaseVersion(OracleConnection.java:129)
        ... 10 more

我指的是 link 的 oracle 设置和连接器配置,

**https://debezium.io/documentation/reference/connectors/oracle.html#setting-up-oracle**

连接器-configuration.properties

name=debeziumoraclesource
connector.class=io.debezium.connector.oracle.OracleConnector
database.hostname=**.*.**.**
database.port=1521
database.user=username
database.password=password
database.dbname=CDBNAME
database.server.name=**.*.**.**
tasks.max=1
database.pdb.name=PDBNAME
database.history.kafka.bootstrap.servers=kafka:9092
database.history.kafka.topic=history.ENTITY_GROUP_PARAMETER_VALUES
database.connection.adaptor=logminer
snapshot.mode=initial
table.include.list=schema.ENTITY_GROUP_PARAMETER_VALUES

我也下载了 ojdbc8.jar 并放在 kafka/libs folder.I 中尝试使用不同版本的 jar,如 ojdbc10 和不同版本的 ojdbc8.Nothing 帮助 me.Also 注意点我正在使用 oracle19c.Please 帮助我提前解决这个 issue.Thanks。

对所有依赖项使用 OJDBC6.jar 帮助我解决了这个问题。最重要的是,我将罐子放在连接器库文件夹中。

使用 OJDBC8.jar 帮助我解决了问题,问题出现是因为我没有将 jar 放在所有 运行 kafka 连接的服务器上。