Linux_sqlcmd或者是Cloudquery连接SQLSERVER2012的问题解决
背景
最近想使用shell脚本给SQLServer数据库插入数据,但是发现了报错
同时进行CLoudquery连接SQLServer数据库时也出现了异常.
作为笔记记录一下问题和解决方法
sqlcmd的问题现象
sqlcmd的提示信息
第一: 安装
sudo curl -o /etc/yum.repos.d/msprod.repo https://packages.microsoft.com/config/rhel/8/prod.repo
注意 如果是银河麒麟V10 需要选用 rhel/8
yum install sqlcmd -y 安装
第二: 连接数据库
sqlcmd -h 打开帮助然后使用命令进行连接
Sqlcmd: Error: Microsoft ODBC Driver 17 for SQL Server : SSL Provider: [error:1425F102:SSL routines:ssl_choose_client_version:unsupported protocol].
Sqlcmd: Error: Microsoft ODBC Driver 17 for SQL Server : Client unable to establish connection.
这个问题的解决办法是
SQLSERVER2012 升级SP2或者是SP4
后者是SQLSERVER2014升级到SP2或者是更高的版本
第三: 会出现新的错误:
Sqlcmd: Error: Microsoft ODBC Driver 17 for SQL Server : SSL Provider: [error:141A318A:SSL routines:tls_process_ske_dhe:dh key too small].
Sqlcmd: Error: Microsoft ODBC Driver 17 for SQL Server : Client unable to establish connection.
解决这个问题的办法为,降级linux的安装级别:
update-crypto-policies --set LEGACY
连接效果为:
[root@auto109 ~]# sqlcmd -S 10.xxx.xx.xx -U gscloudmss
Password:
1>
Cloudquery的现象
Cloudquery 是使用的jdbc
sqlcmd 是使用的 odbc
稍微有所区别
他的报错信息为:
创建连接失败,请检查连接配置信息:
The driver could not establish a secure connection to SQL Server by using Secure Sockets Layer (SSL) encryption.
Error: "The server selected protocol version TLS10 is not accepted by client preferences [TLS12]".
ClientConnectionId:41106641-48eb-4bd5-963d-6cbc3d3c6fdb
需要注意 升级了SQLSERVER的service pack包之后问题就可以了.
标签:Cloudquery,Server,SSL,sqlcmd,SQLSERVER2012,SQL,连接
From: https://www.cnblogs.com/jinanxiaolaohu/p/17857696.html