YuJiang1505 2020-08-26 14:35 采纳率: 0%
浏览 1528

C#读取Mysql数据库数据时报错:由于连接方在一段时间后没有正确答复或连接的主机没有反应,连接尝试失败

1、代码段
DataSet dataSet=new DataSet();
StringBuilder selectStr = new StringBuilder();
//查询所有TargetID的动态记录
//将查询语句合并为一条SQL语句
for (int j = 0; j < dynamictalbes.Count; j++)
{

selectStr.AppendFormat("select * from {0} where targetID={1} and timetap between {2} and {3} union ", dynamictalbes[j], targetid, startime, stoptime);
}
selectStr.Remove(selectStr.Length - 6, 5);
selectStr.AppendFormat("order by timetap asc;");
try
{
using (MySqlCommand com = new MySqlCommand(selectStr.ToString(), _connection))
{
MySqlDataAdapter sda = new MySqlDataAdapter(com);
sda.Fill(dataSet,"DynamicSet");//,"dynamictargettable"
}
}
catch (Exception er)
{
MessageBox.Show("Dynamic"+er.ToString());
}
说明:1、此段主要功能是完成数据库查询TargetID的记录,在sda.fill(dataset)时报错,错误如图,连接失败!
2、错误非必现,debug调试没有问题,release程序就出问题;
3、主程序可以通过配置文件查询不同的表,之前调试、测试都是针对较小的表(日表,单日数据量200W条不到),从未出现此现象;现在针对较大的表(月表,目前数据量300W条,横跨了4天);
4、Mysql版本8.0.20,max_allowed_packet已配置为500M,超时都已改为600s;
5、程序中的Select语句在workbench中运行没有问题;
6、主程序包含两个进程:读和写,写进程启动即运行,无异常,读进程是查询button的消息响应;
7、Mysql与主程序都运行在同一台电脑中。
请帮忙分析原因!

![图片说明](https://img-ask.csdn.net/upload/202008/26/1598423654_441280.jpg)
  • 写回答

2条回答 默认 最新

  • jingluan666 2020-08-26 14:51
    关注

    你先用下面语句看看连接是否正常

    MySqlConnection conn=new MySqlConnection( _connection));
    conn.Open();
    

    如果连接正常,那么可能是数据量太大,应用程序里面不做分页处理吗

    评论

报告相同问题?

悬赏问题

  • ¥15 执行 virtuoso 命令后,界面没有,cadence 启动不起来
  • ¥50 comfyui下连接animatediff节点生成视频质量非常差的原因
  • ¥20 有关区间dp的问题求解
  • ¥15 多电路系统共用电源的串扰问题
  • ¥15 slam rangenet++配置
  • ¥15 有没有研究水声通信方面的帮我改俩matlab代码
  • ¥15 ubuntu子系统密码忘记
  • ¥15 保护模式-系统加载-段寄存器
  • ¥15 电脑桌面设定一个区域禁止鼠标操作
  • ¥15 求NPF226060磁芯的详细资料