Oracle
 sql >> Baza danych >  >> RDS >> Oracle

Limit czasu OracleCommand

Nie masz uruchomionych wielu poleceń w połączeniu, masz dwa polecenia uruchamiane sekwencyjnie, jedno po drugim. Gdy upłynie limit czasu pierwszego polecenia, żadne inne polecenie nie jest oczekujące na połączenie. Twój kod nie przesyła drugiego polecenia do wykonania, dopóki pierwsze polecenie nie powiedzie się lub nie zgłosi wyjątku.

Ostatni akapit z cytowanej dokumentacji powinien brzmieć:W sytuacji, gdy wiele obiektów OracleCommand używa tego samego połączenia jednocześnie , ...

static void Main(string[] args)
{
    using (var conn = new OracleConnection("Pooling=False;...")) // why?
    using (var cmd1 = conn.CreateCommand())
    using (var cmd2 = conn.CreateCommand())
    {
        cmd1.CommandText = "UPDATE employee SET empname = 'temp1' WHERE id = 1";
        cmd2.CommandText = "UPDATE employee SET empname = 'temp2' WHERE id = 2";
        cmd1.CommandTimeout = 30;
        cmd2.CommandTimeout = 30;

        conn.Open();

        // there are no commands on conn yet

        try { cmd1.ExecuteNonQuery(); } // cmd1 is the only command on conn
        catch (OracleException) { } // if timeout, no other command affected

        // cmd1 is no longer on conn

        try { cmd2.ExecuteNonQuery(); } // cmd2 is the only command on conn
        catch (OracleException) { } // if timeout, no other command affected

        // cmd2 is no longer on conn
    }
}



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Znacznik czasu Oracle, wartości maksymalne i minimalne

  2. Zwróć wartość z instrukcji insert

  3. Nierozpoznana opcja:-MaxMetaspaceSize=256m

  4. Jak przenieść plik z jednego katalogu do drugiego za pomocą PL SQL?

  5. Nauka zmiennych wiązania w PL/SQL wraz z obliczaniem danych wejściowych i wyjściowych DBMS_OUTPUT.PUT_LINE