失眠网,内容丰富有趣,生活中的好帮手!
失眠网 > C# asp.net 连接 Sql Server数据库 Timeout expired. 错误 怎么办?

C# asp.net 连接 Sql Server数据库 Timeout expired. 错误 怎么办?

时间:2022-04-13 07:32:31

相关推荐

C# asp.net 连接 Sql Server数据库 Timeout expired. 错误 怎么办?

连接数据库时出现

Connection Timeout Expired. The timeout period elapsed while

attempting to consume the pre-login handshake acknowledgement. This

could be because the pre-login handshake failed or the server was

unable to respond back in time. The duration spent while attempting to

connect to this server was - [Pre-Login] initialization=0;

handshake=14997;

提示

Connection Timeout Expired. The timeout period elapsed while attempting to consume the pre-login handshake acknowledgement. This could be because the pre-login handshake failed or the server was unable to respond back in time. The duration spent while attempting to connect to this server was - [Pre-Login] initialization=0; handshake=14997;

提示

Connection Timeout Expired. The timeout period elapsed while attempting to consume the pre-login handshake acknowledgement. This could be because the pre-login handshake failed or the server was unable to respond back in time. The duration spent while attempting to connect to this server was - [Pre-Login] initialization=0; handshake=14997;

An unhandled exception occurred while processing the request.

SqlSugarException: English Message : Connection open error . 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=48; handshake=124; [Login] initialization=0; authentication=0; [Post-Login] complete=14000;

An unhandled exception occurred while processing the request.

SqlSugarException: English Message : Connection open error . A connection was successfully established with the server, but then an error occurred during the login process. (provider: TCP Provider, error: 35 - An internal exception was caught)

原因:

.net core 的System.Data.SqlClient支持的最低SqlServer版本是 r2 SP3,小于这个版本的就会报这个错。

解决

方式1:.netcore 连接使用 sqlserver

.net core 的System.Data.SqlClient支持的最低SqlServer版本是 r2 SP3 请先检查数据库版本

方式2:通过sqlserver控制管理工具,重启sqlserver服务进程

其他信息

Microsoft SQL Server R2 (SP1)10.50.2550.0 (X64) Jun 11 16:41:53 Copyright (c) Microsoft Corporation Standard Edition (64-bit) on Windows NT 6.1 (Build 7601: Service Pack 1)

Connection string:

Data Source=192.168.1.6;Initial Catalog=DBName;Persist Security Info=False;User ID=username;Password=pass

This issue may be related to #16528.

Unfortunately, we cannot upgrade our SQL server service pack. The same application works fine on Windows. This also impacts Entity Framework .

Code:

using (SqlConnection connection = new SqlConnection(connectionString)){SqlCommand command = new SqlCommand(queryString, connection);connection.Open();SqlDataReader reader = command.ExecuteReader();try{while (reader.Read()){Console.WriteLine(String.Format("{0}, {1}",reader["Id"], reader["Email"]));}}catch(Exception ex){Console.WriteLine(ex.ToString());}}

如果觉得《C# asp.net 连接 Sql Server数据库 Timeout expired. 错误 怎么办?》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。