C#连接Mysql的问题

用C#写了一个窗体应用程序,程序运行时,连接MySql读写都正常,但是运行的时间长了例如隔夜了,程序再次读写MySql时就会产生异常,报连接失效的错误,请问这是为什么?有... 用C#写了一个窗体应用程序,程序运行时,连接MySql读写都正常,但是运行的时间长了例如隔夜了,程序再次读写MySql时就会产生异常,报 连接失效的错误,请问这是为什么?有什么解决办法没? 展开
 我来答
百度网友7d14b23
2017-08-11 · TA获得超过603个赞
知道小有建树答主
回答量:297
采纳率:85%
帮助的人:164万
展开全部
看你的情况,应该是程序里Conn.Open()后,在处理完数据后没有Close(),这样在长时间闲置后,MySQL Server会关闭超时的连接,当你的程序再次执行SqlCmd的时候,因为连接已经被MySQLServer端关闭了,所以就会出错。
解决的方法应该有这几种:
1、在MySQL配置文件中修改连接超时时间,但这个方法最好不用,因为如果你的客户端数量过多的话,会造成大量的闲置连接占用服务器资源。
2、在你的c#程序里,执行SqlCmd之前判断一下Conn.State连接状态,看看是否需要执行一下Conn.Open()
比如在你的SqlCmd前面加一行if (Conn.State!=ConnectionState.Open) Conn.Open();
3、如果还是不行的话,就试试把代码写到try catch里试试
追问
好的,谢谢,我试一下~
白泽小哥
2017-08-11 · TA获得超过275个赞
知道小有建树答主
回答量:301
采纳率:36%
帮助的人:80.3万
展开全部
数据库有问题啦,你那个数据库的名称和你代码里写的不一样,或者是用户名密码不对。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式