Oracle
 sql >> Teknologi Basis Data >  >> RDS >> Oracle

Batas waktu OracleCommand

Anda tidak memiliki banyak perintah yang berjalan pada koneksi, Anda memiliki dua perintah yang berjalan secara berurutan, satu demi satu. Saat perintah pertama habis, tidak ada perintah lain yang tertunda pada koneksi. Kode Anda tidak mengirimkan perintah kedua untuk dieksekusi sampai setelah perintah pertama berhasil atau mengeluarkan pengecualian.

Paragraf terakhir dari dokumentasi yang Anda kutip seharusnya berbunyi:Dalam situasi di mana beberapa objek OracleCommand menggunakan koneksi yang sama secara bersamaan , ...

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. Berbagi koneksi database Oracle antara tugas Seledri secara bersamaan

  2. Ketergantungan database Oracle di PL/SQL

  3. Menggabungkan angka dalam ekspresi kolom virtual melempar ORA-12899:nilai terlalu besar untuk kolom

  4. Memigrasikan Formulir Oracle Berbasis Karakter

  5. Ekspor database Oracle ke file sql?