re-run SSIS ด้วยการ call จากหน้าเว็บ

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

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

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

re-run SSIS ด้วยการ call จากหน้าเว็บ

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

ปกติเวลาช่วงการคืนมักจะมี มีการตั้ง schedule รัน job ต่างๆ เพื่อ sync ข้อมูล หรือ อัพเดท หรืออะไรเทือกนี้ เมื่อมาทำงาานเช้าวันใหม่ อาจมีบาง job ที่เกิด error ขึ้นระหว่าง run จำเป็นต้อง re-run job นั้นอีกครั้ง ผมเจอ code ตัวอย่างจากในเว็บฝรั่งครับ เอามาใช้

รูปแบบการเรียกใช้มีดังนี้ครับ

ชื่อ database ต้องใช้ชื่อ msdb ครับเป็นชื่อของ database ที่ sqlserver เอาไว้เก็บชื่อ job ทั้งหมดที่เราสร้าง
ใส่ชื่อ job ที่ต้องการ start ในตัวอย่างคือ "CCC_NN_AAA"

เราก็ลดเวลาไม่ต้อง remote ไปที่ server เพื่อไป re-run ด้วยตนเอง เเค่เรียกผ่านหน้าเว็บที่เราสร้างไว้ใช้เองก็ได้

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

public void executeJob()
        {
            SqlConnection jobConnection = new SqlConnection();
            SqlCommand jobCommand;
            SqlParameter jobReturnValue;
            SqlParameter jobParameter;
            int jobResult;

            try
            {
                jobConnection.ConnectionString = "Data Source=SSSSSS01B\SSSBLK;Initial Catalog=msdb;User ID=admin;Password=password;";
                jobCommand = new SqlCommand("sp_start_job", jobConnection);
                jobCommand.CommandType = CommandType.StoredProcedure;

                jobReturnValue = new SqlParameter("@RETURN_VALUE", SqlDbType.Int);
                jobReturnValue.Direction = ParameterDirection.ReturnValue;
                jobCommand.Parameters.Add(jobReturnValue);

                jobParameter = new SqlParameter("@job_name", SqlDbType.VarChar);
                jobParameter.Direction = ParameterDirection.Input;
                jobCommand.Parameters.Add(jobParameter);
                jobParameter.Value = "CCC_NN_AAA";

                jobConnection.Open();
                jobCommand.ExecuteNonQuery();
                jobResult = (Int32)jobCommand.Parameters["@RETURN_VALUE"].Value;
            }
            catch (Exception ex)
            {}
            finally
            {
                jobConnection.Close();
            }
        }

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

สมาชิกกำลังดูบอร์ดนี้: ไม่มีสมาชิกใหม่ และบุคลทั่วไป 25