mysql查询报错 返回
背景描述:
在一个主机上部署的mysql,现有3台客户端电脑连接:
1.当前报错的表,只有第三台电脑出现这种情况,查询其他的表都是正常的
2.另外两台电脑查询是没有问题的
3.三台电脑的软件和代码完全一样
4.第三台电脑使用第三方工具也是可以正常查询的
5.以下是查询过程报错的异常信息
查询到产品信息 原因:MySql.Data.MySqlClient.MySqlException (0x80004005): Fatal error encountered during command execution. ---> MySql.Data.MySqlClient.MySqlException (0x80004005): Fatal error encountered attempting to read the resultset. ---> MySql.Data.MySqlClient.MySqlException (0x80004005): Reading from the stream has failed. ---> System.IO.IOException: 无法从传输连接中读取数据: 由于连接方在一段时间后没有正确答复或连接的主机没有反应,连接尝试失败。。 ---> System.Net.Sockets.SocketException: 由于连接方在一段时间后没有正确答复或连接的主机没有反应,连接尝试失败。
在 System.Net.Sockets.NetworkStream.Read(Byte[] buffer, Int32 offset, Int32 size)
--- 内部异常堆栈跟踪的结尾 ---
在 System.Net.Sockets.NetworkStream.Read(Byte[] buffer, Int32 offset, Int32 size)
在 MySql.Data.MySqlClient.TimedStream.Read(Byte[] buffer, Int32 offset, Int32 count)
在 MySql.Data.MySqlClient.MySqlStream.ReadFully(Stream stream, Byte[] buffer, Int32 offset, Int32 count)
在 MySql.Data.MySqlClient.MySqlStream.LoadPacket()
在 MySql.Data.MySqlClient.MySqlStream.LoadPacket()
在 MySql.Data.MySqlClient.MySqlStream.ReadPacket()
在 MySql.Data.MySqlClient.NativeDriver.GetResult(Int32& affectedRow, Int64& insertedId)
在 MySql.Data.MySqlClient.Driver.NextResult(Int32 statementId, Boolean force)
在 MySql.Data.MySqlClient.MySqlDataReader.NextResult()
在 MySql.Data.MySqlClient.MySqlDataReader.NextResult()
在 MySql.Data.MySqlClient.MySqlCommand.ExecuteReader(CommandBehavior behavior)
在 MySql.Data.MySqlClient.MySqlCommand.ExecuteReader(CommandBehavior behavior)
在 SqlSugar.AdoProvider.GetDataReader(String sql, SugarParameter[] parameters)
在 SqlSugar.QueryableProvider`1.GetData[TResult](KeyValuePair`2 sqlObj)
在 SqlSugar.QueryableProvider`1._ToList[TResult]()
在 HVAC.Database.RemoteDBHelper.GetProductRecordByProductSN(String sn) MLogClientTcp 71 MorningLib.MLogger.MLogClientTcp Color [Red]
热忱回答(10)
-
fate sta VIP0
2025/3/13方案一 :针对 第三台电脑 连接字符串加上 ;Pooling=false试一下
方案二:针对 第三台电脑 改一下代码
net framework用户默认mysql.data
我们换成 DbType=DbType.MySqlConnector
并且NUGET安装下面3个DLL ( .net core自带就是mysqlconnector)
0 回复 -
血虐丘比特 VIP0
2025/3/13@fate sta:我试一下,谢谢
0 回复 -
血虐丘比特 VIP0
2025/6/16@fate sta:三台电脑都进行更改,3个月期间仍然有一台平均每周会出现一次,一旦出现后只能重新启动电脑才能恢复,重启软件无效,但是一次报错信息和上次不一样
0 回复 -
fate sta VIP0
2025/6/16这台服务器加上 Pooling=false试一下
0 回复 -
fate sta VIP0
2025/6/16字符串
0 回复 -
血虐丘比特 VIP0
2025/6/16@fate sta:服务器的配置文件中吗?
0 回复 -
fate sta VIP0
2025/6/16连接字符串中加
0 回复 -
血虐丘比特 VIP0
2025/6/16@血虐丘比特:我是加载sql连接串里面的
server=127.0.0.1;Database=HVAC;Uid=root;Pwd=;SslMode=None;Pooling=false
0 回复 -
血虐丘比特 VIP0
2025/6/16在观察一个月看看
0 回复 -
血虐丘比特 VIP0
2025/7/16经过1个月的持续运行观察,该问题未出现,处理方式:
DbType=DbType.MySqlConnector
连接串种增加Pooling=false
0 回复