C# 检查OLEDB连接状态的最佳方法

C# 检查OLEDB连接状态的最佳方法,c#,connection,oledb,database-connection,oledbconnection,C#,Connection,Oledb,Database Connection,Oledbconnection,显然()有时OleDbConnection.ResetState()什么也不做,因此即使连接失败,OleDbConnection.State仍将设置为打开。我正在寻找最好的解决方法,以便在检查连接状态时避免引发异常(只要在上次检查和使用尝试之间连接没有失败) 没有什么比每次发送一条“无用”的sql语句来查看是否引发异常更好的了吗?在实际使用之前,如何确保连接已打开?在您的情况下,我将执行以下操作: 在使用连接之前,不要费心确定连接是否“真的”打开:不管怎样,大部分时间都是这样,而且您将节省大量到

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


没有什么比每次发送一条“无用”的sql语句来查看是否引发异常更好的了吗?在实际使用之前,如何确保连接已打开?

在您的情况下,我将执行以下操作:

  • 在使用连接之前,不要费心确定连接是否“真的”打开:不管怎样,大部分时间都是这样,而且您将节省大量到服务器的无用往返
  • 但是每次使用连接时都要检查是否存在异常(创建帮助器方法以避免在此处复制/粘贴)
  • 如果出现异常,则发送“无用”语句以检查数据库连接的“真实”状态。我会这样做,因为当与服务器的连接丢失时,您可能会遇到的异常类型有时会非常令人惊讶(取决于连接断开时发生的情况)

  • 希望这能有所帮助。

    这是一个非常好的问题。