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..
按照这个做不成功
如果没有建表的话,那导入一般都会成功的,数据库会根据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运行Microsoft SQL Server 2017