我在ADO命令对象上使用Execute方法来执行存储过程。当网络适配器被禁用并重新启用时,此调用将抛出异常
为什么在这种情况下Execute会失败?
Execute失败,因为底层网络连接已经丢失(尽管connection对象的逻辑状态仍然显示为Open)
你能做的:
- 作为一般规则,在使用它之前打开连接。使用后立即释放,
- 有一个错误处理过程,在错误时,检查连接是否关闭,重新打开它并重新运行命令。
我想答案取决于你使用你的数据库。您还可以想象有一个监视线程,它定期执行简单的选择,并在连接关闭时重新打开连接。