简体   繁体   English

Kafka-Connect For MSSQL 无效值 java.sql.SQLException:找不到适合配置的驱动程序

[英]Kafka-Connect For MSSQL Invalid value java.sql.SQLException: No suitable driver found for for configuration

I am trying to connect kafka-connect to my local mssql with localhost:3030 I am receiving this error when I try to make a new connection for mssql.我正在尝试使用localhost:3030将 kafka-connect 连接到我的本地 mssql 当我尝试为 mssql 建立新连接时收到此错误。 in centos 7(linux).在centos 7(linux)中。 Mssql data is from an external IP(windows), my consumer is inside of linux environment. Mssql 数据来自外部 IP(windows),我的消费者在 linux 环境中。

"No suitable driver found for configuration". “找不到适合配置的驱动程序”。

connect-distributed.properties is shown below; connect-distributed.properties如下所示;

plugin.path=/usr/local/share/java,/usr/local/share/kafka/plugins,/opt/connectors,

I added "ojdbc7-12.1.0.2.jar" file under /opt/connectors/kafka-connect-jdbc/ but still I am receiving error messages.我在/opt/connectors/kafka-connect-jdbc/下添加了"ojdbc7-12.1.0.2.jar"文件,但仍然收到错误消息。 I dont know what is wrong.我不知道出了什么问题。

Also my connect-console-source.properties还有我的 connect-console-source.properties

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
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



ojdbc7-12.1.0.2.jar is the JDBC driver for Oracle. ojdbc7-12.1.0.2.jar是 Oracle 的 JDBC 驱动程序。

For MS SQL you need the MS SQL JDBC driver对于 MS SQL,您需要MS SQL JDBC 驱动程序


Edit: Since you're using Docker to run Kafka Connect, you need to make the JDBC JAR file available to the Kafka Connect worker before it runs.编辑:由于您使用 Docker 运行 Kafka Connect,因此您需要运行之前使 JDBC JAR 文件对 Kafka Connect 工作程序可用。 You can't just run the Docker container and copy the JDBC driver into it, because you need to restart Kafka Connect afterwards.不能只运行Docker容器然后把JDBC驱动复制进去,因为之后需要重启Kafka Connect。

To workaround this, you can mount the JAR from your local machine to the relevant path in the container.要解决此问题,您可以将 JAR 从本地机器挂载到容器中的相关路径。 The relevant path is whereever the Kafka Connect JDBC jar is.相关路径是 Kafka Connect JDBC jar 所在的位置。 Looking at the fast-data-dev image it's in查看它所在的fast-data-dev映像

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

So you can run所以你可以运行

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

or mount it in your Docker Compose with a volumes config:或使用volumes配置将其安装在您的 Docker Compose 中:

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

It's worth noting that Confluent Platform 3.3.0 is really old - the latest is 5.3.1.值得注意的是,Confluent Platform 3.3.0 真的很老了——最新的是 5.3.1。 If you want to see an up-to-date example of running Kafka, Kafka Connect, SQL Server etc with JDBC driver automatically set up see this example here .如果您想查看使用自动设置的 JDBC 驱动程序运行 Kafka、Kafka Connect、SQL Server 等的最新示例,请参见此处的示例

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

相关问题 spark mssql 连接器 - java.sql.SQLException:没有合适的驱动程序 - spark mssql connector - java.sql.SQLException: No suitable driver java.sql.SQLException:找不到适用于jdbc:microsoft的驱动程序 - java.sql.SQLException: No suitable driver found for jdbc:microsoft 错误:java.sql.SQLException:未找到适合jdbc:sqlserver的驱动程序 - Error: java.sql.SQLException: No suitable driver found for jdbc:sqlserver java.sql.SQLException:找不到适用于jdbc:sqlserver的驱动程序: - java.sql.SQLException: No suitable driver found for jdbc:sqlserver: java.sql.SQLException:没有找到适合 jdbc:microsoft:sqlserver 的驱动程序 - java.sql.SQLException: No suitable driver found for jdbc:microsoft:sqlserver javax.servlet.jsp.JspException:无法建立连接,DataSource无效:“ java.sql.SQLException:未找到合适的驱动程序 - javax.servlet.jsp.JspException: Unable to get connection, DataSource invalid: "java.sql.SQLException: No suitable driver found 如何解决 java.sql.SQLException:找不到适合 SQLServer 2008 R2 的驱动程序? - How to resolve java.sql.SQLException: No suitable driver found for SQLServer 2008 R2? java.sql.SQLException:未找到适用于jdbc:sqlserver的驱动程序…(intellij,maven) - java.sql.SQLException: No suitable driver found for jdbc:sqlserver… (intellij, maven) JDBC SQL Server错误:java.sql.SQLException:没有合适的驱动程序 - jdbc sql server error: java.sql.SQLException: No suitable driver java.sql.SQLException:找不到适用于jdbc的驱动程序:sqlserver已尝试使用类路径 - java.sql.SQLException: No suitable driver found for jdbc:sqlserver tried classpath already
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM