title: OracleDataAdapter, Fill method hangs, how do I handle connection terminations/drop offs/cut outs?
body: <p>I have a C# program that connects to a remote server to query data. The data is quite big so the query takes about 2 mins to finish. During this 2 min window, the internet went down. This resulted in the job being unable to finish with the program stuck in the getting data routine. </p>
  
  <p>It established connection but during the select query it was cut off. Setting the command timeout to 30 seconds did not work. I need the query to fail when encountering this error because the program can handle failure but it cannot handle being stuck. Thanks!</p>
  
  <p>UPDATE: included code</p>
  
  <pre><code>OracleConnection connection = new OracleConnection(connectionstring);
  OracleDataAdapter oracleDataAdapter = new OracleDataAdapter(new OracleCommand(query, connection));
  oracleDataAdapter.SelectCommand.CommandTimeout = 30;
  
    DataSet dataSet = new DataSet();
    try
    {
      oracleDataAdapter.Fill(dataSet, table); //Hangs on this line when connection is lost
      return dataSet;
    }
    catch
    {
      throw;
    }
    finally
    {
      dataSet.Dispose();
      oracleDataAdapter.Dispose();
    }
  </code></pre>
  
  <p>UPDATE AGAIN: </p>
  
  <p>What I need to do is handle this situation because I don't want a dangling process.</p>
  
  <p>Simplest would be once the connection is lost is that the program will throw an error. That is what I don't know how to do. I assumed that the commandtimeout will fix it but it did not.</p>