SSIS'de Bir Arıza Sonrası Nasıl Devam Ederim


12

Aşağıdaki gibi bir şey uygulamak istiyorum: resim açıklamasını buraya girin

Bu pakette, bağlantı yöneticisi ayarlarını dinamik olarak değiştirerek veritabanı adlarının bir listesini gözden geçirmek istiyorum.

Ancak, "Bağlantıyı Test Et" öğesindeki ilk hata paketin yürütülmesini durdurur ve başarısız olur.

Ama Foreach döngüsüne devam etmek istiyorum. Bunun mümkün olması gerektiği fikrine kapılıyorum (aksi halde bu kırmızı başarısızlık okları için kullanım durumu nedir?)

Denediğim şeyler arasında "MaximumErrorCount" ile karışıklık var.

Yanıtlar:


12

Soruyu sorduğum gibi cevaplamak için, görev ve üst kapsayıcıları için MaximumErrorCount'un sıfır olduğundan emin olarak hatalardan sonra devam etmek mümkündür ... Bu durumda, "Test Bağlantısı" görevi, "foreach" kapsayıcısı ve paketin kendisi.

Sonunda farklı bir şey yaptım. Ve Jamie Thomson Kullanmadan Önce Bir Bağlantıyı Doğrulayın Burada yararlı oldu. İşte yaptım:

Test Bağlantısı görevini bir komut dosyası göreviyle değiştirdim. Senaryo görevi neredeyse aynen Jamie'nin senaryosuna benziyordu.

  • sadece bir bağlantı yöneticisi kullandı, hepsini değil,
  • görev sonucu her zaman başarılı oldu
  • ve bağlantı testinin sonucuna yeni bir değişken "User :: ConnectionSucceeded" ayarladım.

Ayrıca ifadeleri değerlendirmek için test bağlantısı görevinden çıkan okları değiştirdim, değerlendirdiler:

  • @ [Kullanıcı :: ConnectionSucceed] == Doğru
  • @ [Kullanıcı :: ConnectionSucceed] == Yanlış

sırasıyla.

Ayrıca "LastMonitored Güncelle" görevine giren birden fazla kısıtlamayı düzenlemeyi de hatırlamak zorunda kaldım. Onları mantıklı bir "VEYA" kullanacak şekilde değiştirdim.

SSIS paketim şu anda şöyle görünüyor: yeni paket


1

Kolay yol...

"Bağlantıyı Sına" görevinden sonra Öncelik Kısıtlaması'na (yeşil çizgi) çift tıklayın. "Kısıtlama seçenekleri" ni görmeli, "Değer" açılır listesini tıklamalı ve "Tamamlama" yı seçmelisiniz. Bu, paketinize görev tamamlandıktan sonra başarısız olursa olsun çalışmaya devam etmesini bildirir.

Not: Görev tamamlandıktan sonra değerlendirilecek bir İfade eklemek istemiyorsanız, "Değerlendirme işlemi" açılır listesini "Kısıtlama" dan değiştirmeyin. Ayrıca kısıtlamayı "Mantıksal AND" de saklayın.

Bu yardımcı olur umarım.

Öncelik kısıtlamasını kullanma


Öncelik kısıtı kasten "Başarı" olarak belirlendi. Ayrıca, bunu "Tamamlama" olarak değiştirmek, sorduğum soruya veya mücadele ettiğim göreve değinmiyor. "Bağlantıyı Sına" başarısız olursa, paket yürütmeyi durdurur.
Michael J Swart

Sonunda bu cevabı bulmak için çok fazla sayfa okundu! Teşekkürler!
alexkovelsky
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.