报错:
A connection was successfully established with the server, but then an error occurred during the pre-login handshake. (provider: TCP Provider, error: 35 - An internal exception was caught)
原因:.net5不支持CipherString = DEFAULT@SECLEVEL=2的配置。
将CipherString = DEFAULT@SECLEVEL=1。改完后,重启容器。
如问题任在,则将 MinProtocol = TLSv1.0 更改为MinProtocol = TLSv1
这里去掉了点以及字符0,再重启容器发现就OK了。
也可以通过docker copy命令,将修改后的文件,拷贝到容器中,替换。
后续的坑
报错:
Connection Timeout Expired. The timeout period elapsed during the post-login phase. The connection could have timed out while waiting for server to complete the login process and respond; Or it could have timed out while attempting to create multiple active connections. The duration spent while attempting to connect to this server was - [Pre-Login] initialization=132; handshake=1215; [Login] initialization=24; authentication=54; [Post-Login] complete=13126;
SqlClient现在不支持Linux的SP1连接。Sqlserver 2008 R2需要升级安装SP3 Service Pack
下载安装Microsoft® SQL Server® 2008 R2 Service Pack 3
至此问题解决。