我有一个使用MySql数据库的c#应用程序,问题是在一段时间(8小时)不活动后,或者当与数据库所在的服务器的连接丢失时,与数据库的连接将关闭,并且无法执行数据库查询。如何启用到数据库的自动重新连接。
诚挚的问候。
发布于 2009-09-22 00:32:44
我认为首先应该解决的是,为什么一个连接会连续8个小时开放?
我认为在大多数情况下,你会连接到数据库,做你自己的事情,然后关闭它:
using (var conn = new MySqlConnection(connString))
{
// do what you need here
}using块将创建一个仅在该块内有效的连接。当该块结束时,将对connection调用Dispose方法,并关闭并正确释放connection对象。这将防止您的应用程序在不需要可用连接时耗尽它们。
如果您处于需要确定连接是否打开的情况,则连接变量将具有一个State属性,该属性将是一个ConnectionState枚举。
您可以使用如下代码进行检查:
if (conn.State != ConnectionState.Open)
{
conn = new MySqlConnection(connString);
}希望这能有所帮助。
发布于 2009-09-12 15:41:13
在您的应用程序中,在进行任何查询之前,测试您的连接是否仍处于活动状态。如果不是,则重新连接它。等着瞧!
发布于 2009-09-12 15:14:24
如果访问数据库的尝试失败,请再次运行连接命令。
https://stackoverflow.com/questions/1415336
复制相似问题