kafka是否可以使用interclient.jar连接Interbase数据库。我无法在ubundu系统中连接它,即使将其放在正确的文件夹中也是如此。
这是我用于创建连接器的 POST 命令。
curl -X POST -H "Content-Type: application/json" --data "{ "name": "ib_connector","config": { "connector.class": "io.confluent.connect.jdbc.JdbcSourceConnector", "tasks.max": 1,"connection.url": "jdbc:interbase://remoteip:3050/TEST2.gdb?user=SYSDBA&password=masterkey","mode": "timestamp+incrementing", "incrementing.column.name": "id","timestamp.column.name": "modified", "topic.prefix": "test-interbase-", "poll.interval.ms": 1000 } }" http://localhost:8083/connectors.
我已将 JDBC 连接器interclient.jar
文件放在/usr/share/java/kafka-connect-jdbc
中。
docker-compose.yml
插件路径设置为CONNECT_PLUGIN_PATH:'/usr/share/java,/etc/kafka-connect/jars'
。
我还有.env
文件KAFKA_CONNECT_JARS_PATH=/usr/share/java/kafka-connect-jdbc/
和CLASS_PATH=usr/share/java/kafka-connect-jdbc/
.
我收到的错误消息如下。
{"error_code":400,"message":"Connector configuration is invalid and contains the following 2 error(s):nInvalid value java.sql.SQLException: No suitable driver found for jdbc:interbase://remoteip:3050/TEST2?user=SYSDBA&password=masterkey for configuration Couldn't open connection to jdbc:interbase://remoteip:3050/TEST2?user=SYSDBA&password=masterkeynInvalid value java.sql.SQLException: No suitable driver found for jdbc:interbase://remoteip:3050/TEST2?user=SYSDBA&password=masterkey
如果你使用的是 Docker,那么将本地文件系统上的 JAR 放到/usr/share/java
中不会让 Docker 在没有卷映射的情况下选择它。为避免混淆,我建议将主机文件移动到其他地方。
KAFKA_CONNECT_JARS_PATH
对Confluent Docker镜像也没有任何意义。
在本地创建其他一些本地目录。将 JDBC JAR 放在那里,然后将卷添加到撰写文件中以指向容器中的 JDBC 连接位置
volumes:
- /path/to/your_folder:/usr/share/java/kafka-connect-jdbc/lib:ro
其中ls /path/to/your_folder
显示要使用的 JDBC 驱动程序,如果安装了 Java,则可以运行jar -tf /path/to/your_folder/example.jar
以验证是否存在尝试加载该文件的 JDBC 驱动程序类。
当我尝试MSSQL JDBC驱动程序时,该设置在我的存储库中有效