检查OleDbConnection状态的最佳方法

9

显然(MSDN),有时候OleDbConnection.ResetState()没有任何作用,所以即使连接失败,OleDbConnection.State仍将设置为Open。我正在寻找最佳解决方法,这样当我检查连接状态时,我可以避免引发异常(只要在上次检查和使用尝试之间未发生连接故障)。

有没有比每次发送“无用”的SQL语句更好的方法来查看是否抛出异常?你如何确保在实际使用之前连接已打开?


那是一个非常好的问题。 - Robert S.
1个回答

5
在您的情况下,我会采取以下措施:
  1. 在使用连接之前不要费心确认它是否“真正”打开:大多数情况下都是打开的,这样您就可以避免向服务器发送大量无用的往返请求
  2. 但是每次使用连接时请检查任何异常(创建帮助方法以避免复制/粘贴此处)
  3. 如果出现异常,请将您的“无用”语句发送到检查数据库连接“真实”状态。 我会这样做,因为当与服务器的连接丢失时,您可以获得的异常类型有时会令人惊讶(取决于连接断开时正在发生什么)
希望这有所帮助。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接