c# สั่ง run oracle store procedure โดยไม่ต้องรอ store รันจนเสร็จ

แนะนำ สอบถาม ภาษา C สำหรับผู้เริ่มต้น ภาษา Java ภาษา Python

Moderator: mindphp, ผู้ดูแลกระดาน

ภาพประจำตัวสมาชิก
jataz2
PHP Super Member
PHP Super Member
โพสต์: 275
ลงทะเบียนเมื่อ: 22/02/2011 11:48 am

c# สั่ง run oracle store procedure โดยไม่ต้องรอ store รันจนเสร็จ

โพสต์ที่ยังไม่ได้อ่าน โดย jataz2 »

ความต้องการคือ มี store procedure ชื่อ spSyncCustomer บน Oracle ที่ต้องไปสั่ง run และตัว spSyncCustomer เองใช้เวลารันประมาณ 2 ชม. จึงจะเสร็จ ทางออกที่อยากให้ใช้คือ DBMS_JOB.SUBMIT ครับคือ สั่ง run เป็น background โดยที่ไม่ต้องรอผลลัพท์ของ spSyncCustomer เพราะใช้เวลาถึง 2 ชม. ไม่สามารถขยายเวลา timeout เพื่อรอมันรันจนเสร็จได้

โค้ด: เลือกทั้งหมด

 using Oracle.DataAccess.Client;
     
            string ConnectionString = "Data Source=10.555.55.55:1511/CUSTOMERDB;Password=cusdbpwd;User ID=cusdbus;PERSIST SECURITY INFO=True;";
            OracleConnection conn = new OracleConnection();

            try
            {
                conn.ConnectionString = ConnectionString;
                conn.Open();

                OracleCommand cmd = new OracleCommand();
                cmd.Connection = conn;
                cmd.CommandText = "DECLARE job_no NUMBER; BEGIN  DBMS_JOB.SUBMIT(job_no,'name_of_your_store_produre;',SYSDATE);  COMMIT;  END;";
                cmd.CommandType = CommandType.Text;
                cmd.CommandTimeout = 10;
                cmd.ExecuteNonQuery();
            }
            catch (Exception ex)
            {
            }
            finally
            {
                conn.Close();
            }
  • Similar Topics
    ตอบกลับ
    แสดง
    โพสต์ล่าสุด

ผู้ใช้งานขณะนี้

สมาชิกกำลังดูบอร์ดนี้: Google [Bot] และบุคลทั่วไป 95