Sql server 无法连接到SQLServer Kafka connect

Sql server 无法连接到SQLServer Kafka connect,sql-server,docker,jdbc,apache-kafka,apache-kafka-connect,Sql Server,Docker,Jdbc,Apache Kafka,Apache Kafka Connect,我在这里有一个docker图像 它有我用于开发的所有好东西。我试图添加一个JDBC连接器来插入卡夫卡主题,但是我遇到了这个错误。我已经用Java做了一个消费者,它工作得很好,但是我想使用KafkaConnect 无效值java.sql.SQLException:找不到适合jdbc的驱动程序:sqlserver://servername 对于配置,无法打开到jdbc的连接:sqlserver://servername name=JdbcSourceConnector connector.class

我在这里有一个docker图像 它有我用于开发的所有好东西。我试图添加一个JDBC连接器来插入卡夫卡主题,但是我遇到了这个错误。我已经用Java做了一个消费者,它工作得很好,但是我想使用KafkaConnect

无效值java.sql.SQLException:找不到适合jdbc的驱动程序:sqlserver://servername 对于配置,无法打开到jdbc的连接:sqlserver://servername

name=JdbcSourceConnector
connector.class=io.confluent.connect.jdbc.JdbcSourceConnector
connection.user=user
connection.password=password
tasks.max=1
connection.url=jdbc:sqlserver://servername
topic.prefix=test
table.whitelist=dbo.IB_WEBLOG_DUMMY_small
query=SELECT * FROM IB_WEBLOG_DUMMY_small
value.converter=org.apache.kafka.connect.json.JsonConverter
key.converter=org.apache.kafka.connect.json.JsonConverter
poll.interval.ms=5000
table.poll.interval.ms=120000
mode=bulk

我应该研究什么来解决这个问题?

您的JDBC驱动程序的JAR文件不在Kafka Connect的类路径中。把它放在那里,你就会:

一种选择是在连接器旁边安装JDBC驱动程序jar。打包的连接器安装在相对于安装目录的
share/java/kafka connect jdbc
目录中。如果您是从Debian或RPM软件包安装的,那么连接器将安装在
/usr/share/java/kafka connect jdbc
中。如果您是从zip或tar文件安装的,那么连接器将安装在上面给出的路径中,该路径位于解压Confluent Platform归档文件的目录下

或者,您可以在运行connect standalone或connect distributed之前设置CLASSPATH变量。例如:

$CLASSPATH=/usr/local/firebird/*./bin/connect-distributed./config/connect-distributed.properties


或者,将所有SQL Server JDBC JAR文件放在ApacheKafka根文件夹下的
libs
dir中。但这会污染类路径,最好在生产中避免。

我没有director/usr/share/java。这与我正在使用的docker映像有关吗?将JAR文件放在您喜欢的任何位置,例如
/my/jars/
。然后,如果您使用的是
bash
,请运行
EXPORT CLASSPATH=/my/jars/*
。然后运行
/bin/connect distributed./config/connect distributed.properties