Oracle
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Oracle

OracleCommand hết thời gian

Bạn không có nhiều lệnh chạy trên kết nối, bạn có hai lệnh chạy tuần tự, cái này sau cái kia. Khi lệnh đầu tiên hết thời gian chờ, không có lệnh nào khác đang chờ xử lý trên kết nối. Mã của bạn không gửi lệnh thứ hai để thực thi cho đến khi lệnh đầu tiên thành công hoặc đã đưa ra một ngoại lệ.

Đoạn cuối cùng từ tài liệu bạn đã trích dẫn nên đọc: Trong trường hợp nhiều đối tượng OracleCommand sử dụng cùng một kết nối đồng thời , ...

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. Trong một cụm Oracle, sysdate sẽ luôn trả về một câu trả lời nhất quán?

  2. câu lệnh sqlplus từ dòng lệnh

  3. ORDER BY với truy vấn bên trong, đưa ra ORA-00907 bị thiếu dấu ngoặc đơn bên phải

  4. Không phải là tháng hợp lệ trong oracle khi add_months được sử dụng

  5. org.hibernate.Query .iterate () VS .getResultList () tạo truy vấn