我有一个从串口读取的程序。该程序工作正常但是,从串口读取100行后,我得到以下错误。
MySql.Data.dll中发生未处理的“MySql.Data.MySqlClient.MySqlException”类型异常
其他信息:连接错误:超时已过期。从池中获取连接之前经过的超时时间。这可能是因为所有池连接都在使用中并且达到了最大池大小。
我真的不明白它是什么意思。
感谢, 塞巴斯蒂安
答案 0 :(得分:1)
我怀疑你的程序在从串口读取之前是在幕后(可能在另一个线程中)打开与不存在的服务器的MySQL连接。您看到的错误是MySQL连接超时,与串行操作无关。
编辑:您的评论让我更好地了解您的问题。我认为你正在为循环的每次迭代打开一个新的MySQL连接而你没有正确关闭它,所以经过一百次迭代后你的连接池已经满了,你就再也无法连接到服务器了。
尝试在循环外部打开连接,然后在作业完成后正确关闭它。 using语句是实现这一目标的好方法。