ฉันจะดำเนินการต่อหลังจากความล้มเหลวใน SSIS ได้อย่างไร


12

ฉันต้องการใช้งานบางอย่างดังต่อไปนี้: ป้อนคำอธิบายรูปภาพที่นี่

ในแพ็คเกจนี้ฉันต้องการวนซ้ำรายชื่อฐานข้อมูลโดยแก้ไขการตั้งค่าตัวจัดการการเชื่อมต่อแบบไดนามิก

อย่างไรก็ตามความล้มเหลวครั้งแรกใน "การเชื่อมต่อทดสอบ" จะหยุดและล้มเหลวในการดำเนินการแพคเกจ

แต่ฉันต้องการดำเนินการต่อ Foreach ของฉัน ฉันเข้าใจว่ามันควรจะเป็นไปได้

สิ่งที่ฉันได้ลองรวมถึงการล้อเล่นกับ "MaximumErrorCount"

คำตอบ:


12

เพื่อตอบคำถามตามที่ฉันถามมันเป็นไปได้ที่จะดำเนินการต่อหลังจากความล้มเหลวโดยตรวจสอบให้แน่ใจว่า MaximumErrorCount เป็นศูนย์สำหรับงานและคอนเทนเนอร์หลัก ... ในกรณีนี้หมายความว่างาน "Test Connection", คอนเทนเนอร์ "foreach" และแพคเกจเอง

แม้ว่าฉันจะทำสิ่งที่แตกต่างออกไป และเจมี่ทอมสันยืนยันการเชื่อมต่อก่อนใช้มันมีประโยชน์ที่นี่ นี่คือสิ่งที่ฉันทำ:

ฉันแทนที่งานทดสอบการเชื่อมต่อด้วยงานสคริปต์ งานของสคริปต์เกือบจะเหมือนกับสคริปต์ของ Jamie ยกเว้นฉัน

  • ใช้ตัวจัดการการเชื่อมต่อหนึ่งตัวเท่านั้นไม่ใช่ทั้งหมด
  • ผลงานประสบความสำเร็จเสมอ
  • และฉันตั้งค่าตัวแปรใหม่ "User :: ConnectionSucceeded" เป็นผลการทดสอบการเชื่อมต่อ

ฉันยังเปลี่ยนลูกศรที่ออกมาจากงานทดสอบการเชื่อมต่อเพื่อประเมินนิพจน์พวกเขาประเมิน:

  • @ [ผู้ใช้ :: ConnectionSucceed] == จริง
  • @ [ผู้ใช้ :: ConnectionSucceed] == เท็จ

ตามลำดับ

ฉันยังต้องจำไว้ว่าต้องแก้ไขข้อ จำกัด หลายอย่างที่เข้าสู่ภารกิจ "Update LastMonitored" ฉันเปลี่ยนพวกเขาเพื่อใช้ตรรกะ "หรือ"

นี่เป็นลักษณะของแพ็คเกจ SSIS ของฉันตอนนี้: แพ็คเกจใหม่


1

วิธีที่ง่าย ...

ดับเบิ้ลคลิกที่ข้อ จำกัด ที่ต้องมีก่อน (เส้นสีเขียว) หลังจากงาน "Test Connection" คุณควรเห็น "ตัวเลือกข้อ จำกัด " คลิกที่รายการ "ค่า" และเลือก "เสร็จสิ้น" สิ่งนี้บอกให้แพคเกจของคุณทำงานต่อหลังจากงานเสร็จสมบูรณ์โดยไม่คำนึงว่ามันล้มเหลว

หมายเหตุ: อย่าเปลี่ยนรายการแบบหล่นลง "การดำเนินการประเมินผล" จาก "ข้อ จำกัด " ยกเว้นว่าคุณต้องการเพิ่มนิพจน์ที่จะประเมินหลังจากงานเสร็จสมบูรณ์ เก็บข้อ จำกัด ไว้ที่ "Logical AND"

หวังว่านี่จะช่วยได้

การใช้ข้อ จำกัด ที่มีมาก่อน


ข้อ จำกัด ที่มาก่อนถูกตั้งค่าเป็น "สำเร็จ" โดยเจตนา นอกจากนี้การเปลี่ยนเป็น "เสร็จสมบูรณ์" ไม่ได้ตอบคำถามที่ฉันถามหรืองานที่ฉันต้องดิ้นรน หาก "การทดสอบการเชื่อมต่อ" ล้มเหลวสิ่งนี้จะยังคงหยุดการทำงานของแพคเกจ
Michael J Swart

หลาย ๆ หน้าอ่านเพื่อหาคำตอบนี้ในที่สุด! ขอบคุณ!
alexkovelsky
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.