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

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

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

User avatar
jataz2
PHP Super Member
PHP Super Member
Posts: 249
Joined: 22/02/2011 11:48 am

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

Post by jataz2 »

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

Code: Select all

 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
    Replies
    Views
    Last post

Return to “Programming - C/C++ & java & Python”

Who is online

Users browsing this forum: No registered users and 11 guests