DOCKER中sql server2017连接外部出错

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了DOCKER中sql server2017连接外部出错相关的知识,希望对你有一定的参考价值。

bogon:~ oy$ sqlcmd -S 192.168.8.100,1433 -U SA -P Ouyang1998Sqlcmd: Error: Microsoft ODBC Driver 17 for SQL Server : TCP Provider: Error code 0x102.Sqlcmd: Error: Microsoft ODBC Driver 17 for SQL Server : Login timeout expired.Sqlcmd: Error: Microsoft ODBC Driver 17 for SQL Server : A network-related or instance-specific error has occurred while establishing a connection to SQL Server. Server is not found or not accessible. Check if instance name is correct and if SQL Server is configured to allow remote connections. For more information see SQL Server Books Online..
按照这个做不成功

参考技术A 如果你已经是建好一个表,再向数据库导入EXCEL文件的话,那就应该检查一下你建表的时候设置的字段数据类型是否符合你的EXCEL表格中得数据类型,一般这种情况都是列数不一致或者数据类型不一致造成的。
如果没有建表的话,那导入一般都会成功的,数据库会根据EXCEL表格中得数据类型自动设置。

如何在不使用 Docker 或 Windows Server 2016 上的 Confluent 平台的情况下在 Kafka 中设置 Debezium SQL Server 连接器?

【中文标题】如何在不使用 Docker 或 Windows Server 2016 上的 Confluent 平台的情况下在 Kafka 中设置 Debezium SQL Server 连接器?【英文标题】:How do I set up a Debezium SQL Server connector in Kafka without using Docker nor the Confluent Platform on Windows Server 2016? 【发布时间】:2021-04-08 11:25:27 【问题描述】:

我正在尝试在独立模式下使用 Kafka 捕获 SQL Server 数据库中的一些更改。 在这个任务中,Confluent 平台和 Docker 不是选项。

源数据库上的 CDC 已启用。在 Kafka 方面,我遇到了 Debezium 连接器的问题。我将在下面描述更多细节:

--- zookeeper.properties:

dataDir=C:/kafka_2.13-2.7.0/data

clientPort=2181

maxClientCnxns=0

admin.enableServer=false

--- server.properties:

broker.id=0

listeners=PLAINTEXT://localhost:9092

num.network.threads=3

num.io.threads=8

socket.send.buffer.bytes=102400

socket.receive.buffer.bytes=102400

socket.request.max.bytes=104857600

log.dirs=C:/kafka_2.13-2.7.0/kafka-logs

num.partitions=1

num.recovery.threads.per.data.dir=1

offsets.topic.replication.factor=1

transaction.state.log.replication.factor=1

transaction.state.log.min.isr=1

log.retention.hours=168

log.segment.bytes=1073741824

log.retention.check.interval.ms=30000

zookeeper.connect=localhost:2181

zookeeper.connection.timeout.ms=18000

group.initial.rebalance.delay.ms=0

auto.create.topics.enable=true

delete.topic.enable=true

--- sqlserver-source-connector.properties:

name=sqlserver-connector

connector.class=io.debezium.connector.sqlserver.SqlServerConnector 

database.hostname=myhostname 

database.port=1433 

database.user=sa 

database.password=mySuperSecretPassord

database.dbname=myDbName 

database.server.name=myhostname

table.include.list=dbo.employes 

database.history.kafka.bootstrap.servers=myhostname:9092 

database.history.kafka.topic=dbhistory.fullfillment

key.converter=org.apache.kafka.connect.json.JsonConverter

value.converter=org.apache.kafka.connect.json.JsonConverter

offset.storage.file.filename=C:/kafka_2.13-2.7.0/connect.offsets

bootstrap.servers=localhost:9092

--- file-employes-sink.properties:

name=file-employes-sink

connector.class=FileStreamSink

tasks.max=1

file=file-employes-sink.txt

topics=myhostname.dbo.EMPLOYES

当我尝试运行时

.\connect-standalone.bat ..\..\config\sqlserver-source-connector.properties ..\..\config\file-employes-sink.properties

并检查可以通过链接 http://localhost:8083/connectors 创建的连接器,这是我得到的:

[“文件-雇员-接收器”]

这意味着我只能创建我的接收器连接器,对吗? 我的源连接器呢?不应该列在这里吗?

【问题讨论】:

【参考方案1】:

您需要提供connect-standalone.properties 作为connect-standalone 的第一个参数来配置worker

然后您提供两个连接器属性文件来启动两个连接器

您也可以使用 connect-distributed 及其属性文件,然后通过 HTTP POST 两个连接器配置


虽然 Confluent 平台不正式支持 Windows,但它仍然可以正常工作。 Docker 也会如此

【讨论】:

感谢您的回复。听从您的建议后,我遇到了一个新问题:“找不到任何实现 Connector 且名称与 io.debezium.connector.sqlserver.SqlServerConnector 匹配的类。”我已经在我的属性文件中添加了参数 plugin.path=C:/kafka_2.13-2.7.0/plugins ,并且 Debezium 文件夹也在此路径中,但它仍然无法正常工作。有什么想法吗? 我不确定你的“debezium 文件夹”中有什么,但只要你有 plugins/debezium-connector-sqlserver/debezium-connector-sqlserver-[version].jar,它应该可以工作,尽管我从未将 Windows 与任何 Kafka 工具一起使用 这只是connector.class参数值后面的一个空格。它现在正在工作。感谢您的帮助! 啊。随意使用帖子旁边的复选标记接受答案

以上是关于DOCKER中sql server2017连接外部出错的主要内容,如果未能解决你的问题,请参考以下文章

无法从 Docker 容器连接到外部 SQL Server

使用Docker运行Microsoft SQL Server 2017

除非我停止任何本地 SQL Server 实例,否则 Docker、MS SQL Server、SMMS 无法连接

docker快速部署sql server 2017开发版

docker 中安装 sql server 2017

SQL Server Compact Edition(从外部连接连接)