【问题标题】:Best way to check OleDbConnection state检查 OleDbConnection 状态的最佳方法
【发布时间】:2010-10-12 05:40:26
【问题描述】:

显然 (MSDN) 有时 OleDbConnection.ResetState() 什么都不做,所以即使连接失败 OleDbConnection.State 仍将设置为打开。我正在为此寻找最佳解决方法,以便在检查连接状态时可以避免引发异常(只要在上次检查和使用尝试之间连接没有失败)。

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

【问题讨论】:

  • 这是一个非常好的问题。

标签: c# connection oledb database-connection oledbconnection


【解决方案1】:

在你的情况下,我会做以下事情:

  1. 在使用之前不要担心连接是否“真正”打开:无论如何,大多数情况下都会出现这种情况,而且您可以省去很多无用的服务器往返
  2. 但每次使用连接时都要检查是否有任何异常(创建帮助方法以避免在此处复制/粘贴)
  3. 如果您有异常,则发送您的“无用”语句来检查数据库连接“真实”状态。我会这样做是因为当与服务器的连接丢失时您可能会遇到的异常类型有时会非常令人惊讶(取决于连接断开时发生的情况)

希望这会有所帮助。

【讨论】:

    猜你喜欢
    • 2020-08-10
    • 2012-08-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-10-16
    • 1970-01-01
    • 1970-01-01
    • 2014-06-13
    相关资源
    最近更新 更多