我已经构建了一个C#应用程序,它每10毫秒更新一次MySQL数据库表。该应用程序为每个更新创建一个单独的线程。使用Workbench,我可以看到有很多连接,有一段时间,这已经非常成功。最近,我发现在成功执行2-3小时后,我得到一个异常,说“找不到表xxxx”。我使用Entity Framework进行了读取和更新,如下所示
try
{
u5s = (from u in cxt.universe5s
where u.CATEGORY == tval
select u).ToList();
. . .
u5.PC_CHANGE = chval;
cxt.SaveChanges();
}
catch (Exception myEx)
{
//throws my 'table not found' exception here
}
使用NET 4.0和MySql 5.5.9。有没有其他人有这样的经历?这可能是由于连接耗尽造成的吗?在这种情况下,保存更改后关闭连接的最佳做法是什么?
此致 理查德
答案 0 :(得分:1)
这听起来像是一个并发问题。您可能会尝试锁定单个连接对象。这也可以减轻服务器上的压力。
有关详细信息,请参阅http://msdn.microsoft.com/en-us/library/c5kehkcz%28v=vs.80%29.aspx。
希望这有帮助。