gpt4 book ai didi

sql-server - 与服务器成功建立连接,但在登录前握手期间发生错误。(提供者 :TCP Provider, 错误:35)

转载 作者:行者123 更新时间:2023-12-02 02:45:02 26 4
gpt4 key购买 nike

我在 .Net Core 中内置了一个后台服务,它执行 SQL Server 数据库过程,如下所示:

public int ExecuteProcedure(string connectionString, string sql, Dictionary<string, object> parameters = null)
{
var response = -99;
using (SqlConnection connection = new SqlConnection(connectionString))
{
connection.Open();
// Create a SqlCommand, and identify it as a stored procedure.
using (SqlCommand sqlCommand = new SqlCommand(sql, connection))
{
sqlCommand.CommandType = CommandType.StoredProcedure;
if(parameters != null)
SetParameters(sqlCommand, parameters);
response = sqlCommand.ExecuteNonQuery();
}
connection.Close();
}

return response;
}

当我在本地计算机上运行 bakcgroundservice 时,它运行没有问题,但是当我使用 docker 和 kubernetes 时,出现以下错误:

A connection was successfully established with the server, but then anerror occurred during the pre-login handshake. (provider: TCPProvider, error: 35 - An internal exception was caught)

我在多个地方进行了咨询,但我找到的所有答案都是关于重新启动 Visual Studio 或 IIS,但由于应用程序位于 kubernetes 中,因此不适用于我的情况

非常感谢您的帮助。

最佳答案

构建 Docker 容器时使用的镜像会出现此错误。

我正在使用图像:mcr.microsoft.com/dotnet/core/runtime:3.1-buster-slim,但当我将其更改为:mcr.microsoft.com/dotnet/core/runtime:3.1-bionic 工作正常。

根据我一直在咨询的内容,似乎让我失败的镜像的 TLS 版本与 SqlServer 的成功连接不兼容

关于sql-server - 与服务器成功建立连接,但在登录前握手期间发生错误。(提供者 :TCP Provider, 错误:35),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62942247/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com