C#连接Mysql的问题
用C#写了一个窗体应用程序,程序运行时,连接MySql读写都正常,但是运行的时间长了例如隔夜了,程序再次读写MySql时就会产生异常,报连接失效的错误,请问这是为什么?有...
用C#写了一个窗体应用程序,程序运行时,连接MySql读写都正常,但是运行的时间长了例如隔夜了,程序再次读写MySql时就会产生异常,报 连接失效的错误,请问这是为什么?有什么解决办法没?
展开
2个回答
展开全部
看你的情况,应该是程序里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里试试
解决的方法应该有这几种:
1、在MySQL配置文件中修改连接超时时间,但这个方法最好不用,因为如果你的客户端数量过多的话,会造成大量的闲置连接占用服务器资源。
2、在你的c#程序里,执行SqlCmd之前判断一下Conn.State连接状态,看看是否需要执行一下Conn.Open()
比如在你的SqlCmd前面加一行if (Conn.State!=ConnectionState.Open) Conn.Open();
3、如果还是不行的话,就试试把代码写到try catch里试试
追问
好的,谢谢,我试一下~
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询