错误:TCP提供程序:错误代码0x2746。在Linux终端中进行SQL安装期间的设置。

82

我正在按照文档https://learn.microsoft.com/pl-pl/sql/linux/quickstart-install-connect-ubuntu?view=sql-server-2017在我的Linux系统中设置ms-sql服务器。

SQL服务器状态为活动(运行中)。

执行命令时,我遇到了以下错误:

sqlcmd -S localhost -U SA -P '<YourPassword>'

错误:

Sqlcmd:错误:Microsoft ODBC Driver 17 for SQL Server:TCP Provider Error code 0x2746。 Sqlcmd:错误:Microsoft ODBC Driver 17 for SQL Server:客户端无法建立连接。

我也尝试通过给出命令来解决问题。

sqlcmd -S 127.0.0.1 -U SA -P '<YourPassword>' 

但是同样的错误仍然显示。 当我尝试错误密码时,也会显示相同的错误。


从SSMS来看,这表现为错误10054,当然在十进制中是0x2746。感谢您发布这个问题...您已经帮助了很多人。 - Lynn Crumbling
这个答案简化了您需要做的事情:https://dev59.com/MVMI5IYBdhLWcg3wCWwo#61111267 - ofundefined
21个回答

0

我不再建议降级openssl,因为您应该能够通过升级到新版本来解决任何openssl问题。在我的情况下,openssl 1.1.1k有效。安装不在您发行版中的openssl版本的最简单方法是从源代码安装。有关完整详细信息,请参见https://wiki.openssl.org/index.php/Compilation_and_Installation

对于我来说,以下步骤就足够了,但我认为您还需要build-essentials和其他几个软件包。

git clone git://git.openssl.org/openssl.git
cd openssl/
git checkout OpenSSL_1_1_1k
chmod +x ./config
./config
make
sudo make install

然而,这将不再完全解决问题了。sqlcmd似乎有一个DNS解析错误,在旧版本中没有这个问题。这意味着您需要完整的域名或IP地址以及可能还需要连接协议或端口号。因此,虽然以前像 sqlcmd -S 127.0.0.1 或者 sqlcmd -S <server_name> 工作得很好。现在你可能需要像这样的一些东西: sqlcmd -S tcp:127.0.0.1,<port_number> 或者 sqlcmd -S tcp:<server_name>.<AD domain>.<domain name>,<port_number>

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接