首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Kafka-连接MSSQL无效值java.sql.SQLException:没有找到适合配置的驱动程序

Kafka-连接MSSQL无效值java.sql.SQLException:没有找到适合配置的驱动程序
EN

Stack Overflow用户
提问于 2019-12-05 16:49:32
回答 1查看 555关注 0票数 1

我试图连接卡夫卡-用localhost:3030连接到本地的mssql,当我尝试为mssql建立一个新的连接时,我会收到这个错误。在centos 7(linux)中。Mssql数据来自外部IP(windows),我的使用者在linux环境中。

“没有找到适合配置的驱动程序”。

connect-distributed.properties如下所示;

代码语言:javascript
复制
plugin.path=/usr/local/share/java,/usr/local/share/kafka/plugins,/opt/connectors,

我在/opt/connectors/kafka-connect-jdbc/下添加了/opt/connectors/kafka-connect-jdbc/文件,但仍然收到错误消息。我不知道是怎么回事。

还有我的connect控制台-Sourcee.properties

代码语言:javascript
复制
name=source-sqlserver-user
connector.class=io.confluent.connect.jdbc.JdbcSourceConnector
tasks.max=1
topic.prefix=my-timestamp
connection.url=jdbc:sqlserver://externalIP;database=database;username=username;password=password
代码语言:javascript
复制
version: '2'

services:
  kafka-cluster:
    image: landoop/fast-data-dev:cp3.3.0
    environment:
      ADV_HOST: 127.0.0.1          
      RUNTESTS: 0                 
    ports:
      - 2181:2181                 # Zookeeper
      - 3030:3030                 # Landoop UI
      - 8081-8083:8081-8083       # REST Proxy, Schema Registry, Kafka Connect ports
      - 9581-9585:9581-9585       # JMX Ports
      - 9092:9092                 # Kafka Broker
EN

回答 1

Stack Overflow用户

发布于 2019-12-05 17:35:37

ojdbc7-12.1.0.2.jar是Oracle的JDBC驱动程序。

对于MS,您需要驱动程序

编辑:因为您使用Docker来运行Kafka,所以您需要在Kafka工作人员运行之前使JDBC文件可用。您不能只运行Docker容器并将JDBC驱动程序复制到其中,因为之后需要重新启动Kafka。

要解决这个问题,您可以将JAR从本地机器挂载到容器中的相关路径。相关的路径是Kafka所在的地方。看看它在里面的fast-data-dev图像

代码语言:javascript
复制
root@fast-data-dev / $ ls -l /opt/confluent-3.3.0/share/java/kafka-connect-jdbc
total 6544
-rw-r--r-- 1 root root  133842 Jul 28  2017 kafka-connect-jdbc-3.3.0.jar
-rw-r--r-- 1 root root  658466 Jul 28  2017 postgresql-9.4-1206-jdbc41.jar
-rw-r--r-- 1 root root 5575351 Jul 28  2017 sqlite-jdbc-3.8.11.2.jar

所以你可以跑

代码语言:javascript
复制
docker run --rm --net=host --volume ~/Downloads/mssql-jdbc-7.4.1.jre8.jar:/opt/confluent-3.3.0/share/java/kafka-connect-jdbc/mssql-jdbc-7.4.1.jre8.jar landoop/fast-data-dev:cp3.3.0

或者用volumes配置将其挂载到您的Docker中:

代码语言:javascript
复制
version: '2'

services:
  kafka-cluster:
    image: landoop/fast-data-dev:cp3.3.0
    environment:
      ADV_HOST: 127.0.0.1
      RUNTESTS: 0
    ports:
      - 2181:2181                 # Zookeeper
      - 3030:3030                 # Landoop UI
      - 8081-8083:8081-8083       # REST Proxy, Schema Registry, Kafka Connect ports
      - 9581-9585:9581-9585       # JMX Ports
      - 9092:9092                 # Kafka Broker
    volumes:
      - ~/Downloads/mssql-jdbc-7.4.1.jre8.jar:/opt/confluent-3.3.0/share/java/kafka-connect-jdbc/mssql-jdbc-7.4.1.jre8.jar

值得注意的是,3.3.0确实很古老--最近的版本是5.3.1。如果您希望看到一个最新的运行Kafka、Kafka、Server等JDBC驱动程序的例子,请参阅这里的例子

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/59199792

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档