Aracılığıyla paylaş


Hata çıktı Script bileşeni simulasyonu

Her ne kadar bir çıkış olarak hata çıktı Script bileşeni otomatik işleme hata satırları doğrudan yapılandıramazsınız, ek bir çıktı oluşturmak ve komut doğrudan satırları uygun olduğunda bu çıkış koşullu mantık kullanarak yerleşik hata çıktı işlevselliğini yeniden üretebilir. Hata numarasını ve hata oluştuğu sütun Kımlığı almak için iki ek çıktı sütunları ekleyerek bir yerleşik hata çıktı davranışını taklit isteyebilirsiniz.

Önceden tanımlanmış belirli bir karşılık gelen hata açıklaması eklemek isterseniz Integration Serviceshata kodu kullanabilirsiniz GetErrorDescriptionyöntemi IDTSComponentMetaData100arabirimi, komut dosyası bileşen kullanılabilen ComponentMetaDataözellik.

Örnek

Burada gösterilen örnekte, iki zaman uyumlu çıkışlarına sahip dönüşüm yapılandırılmış Script bileşeni kullanır. Adres verileri hata satırları süzmek için Script bileşeni amacı ise AdventureWorksörnek veritabanı. Biz bir promosyon Kuzey Amerikalı müşteriler için hazırlanıyorlar ve Kuzey Amerika'da bulunan adreslerinin filtrelemek gerekiyor bu hayali örnek varsayar.

Örnek yapılandırmak için

  1. Yeni Script bileşeni oluşturmadan önce bir bağlantı Yöneticisi oluşturmak ve adres verileri seçer bir veri akışının kaynak yapılandırma AdventureWorksörnek veritabanı. Bu örnekte, yalnızca aradığı CountryRegionNamesütunu, sadece kullanabileceğiniz Person.vStateCountryProvinceRegiongörünümü veya veri birleştirerek seçebilirsiniz Person.Address, Person.StateProvince, ve Person.CountryRegiontabloları.

  2. Yeni Script bileşeni için veri akışı Tasarımcı yüzey ekleyin ve bir dönüşümü yapılandırın. Açık Komut dosyası dönüşümü Düzenleyicisi.

  3. Tarih Script sayfasında, set ScriptLanguage özelliği için komut dosyası kodu için kullanmak istediğiniz komut dosyası dili.

  4. Tıklayın Komut dosyası Düzenle açmak için Microsoft  Visual StudioAraçları uygulamaları (vsta).

  5. De Input0_ProcessInputRowyöntemi, aşağıda gösterilen örnek kodu yapıştırın veya yazın.

  6. vsta kapatın.

  7. Tarih Giriş sütunlar sayfasında, komut dosyası dönüşümü işlemek istediğiniz sütunları seçin. Bu örnek, yalnızca kullanır CountryRegionNamesütun. Kullanılabilir giriş sütunları seçili bırakın sadece aracılığıyla veri akışı değişmeden iletilecektir.

  8. Tarih girişleri ve çıkışları sayfasında, yeni bir, ikincisi çıktı ve ayarlamak onun SynchronousInputIDda değer olan giriş Kımlığı değeri, SynchronousInputIDözelliği varsayılan çıkış. Set ExclusionGroupözelliği her iki çıkış için her satırı yalnızca bir iki çıkış için yönlendirilirsiniz göstermek için aynı sıfır olmayan bir değer (örneğin, 1). Yeni hata çıktı "MyErrorOutput." gibi bir ayırt edici ad verin

  9. Yeni hata çıkış hata kodu, hata oluştuğu sütun ve muhtemelen hata açıklaması kimliğini içerebilir istenen hata bilgileri yakalamak için ek çıktı sütunları ekleyin. Bu örnek, yeni sütunlar, ErrorColumn ve ErrorMessage oluşturur. Alıcı, önceden tanımlanmış Integration Serviceskendi uygulama hataları için hata numarasını bir HataKodu sütunu eklemek emin olun.

  10. Giriş sütun veya Script bileşeni hata koşulları için denetleyecek ID değerini not alın. Bu örnekte bu sütun tanımlayıcısı ErrorColumn değeri doldurmak için kullanır.

  11. Yakın komut dosyası dönüşümü Düzenleyicisi.

  12. Script bileşeni çıkışlarına uygun hedeflere iliştirin. Düz dosya hedef yapılandırmak için özel sınav için en kolay olan.

  13. Paketi çalıştırın.

Public Overrides Sub Input0_ProcessInputRow(ByVal Row As Input0Buffer)

  If Row.CountryRegionName <> "Canada" _
      And Row.CountryRegionName <> "United States" Then

    Row.ErrorColumn = 68 ' ID of CountryRegionName column
    Row.ErrorMessage = "Address is not in North America."
    Row.DirectRowToMyErrorOutput()

  Else

    Row.DirectRowToOutput0()

  End If

End Sub
Public Overrides Sub Input0_ProcessInputRow(ByVal Row As Input0Buffer)

  If Row.CountryRegionName <> "Canada" _
      And Row.CountryRegionName <> "United States" Then

    Row.ErrorColumn = 68 ' ID of CountryRegionName column
    Row.ErrorMessage = "Address is not in North America."
    Row.DirectRowToMyErrorOutput()

  Else

    Row.DirectRowToOutput0()

  End If

End Sub
public override void Input0_ProcessInputRow(Input0Buffer Row)
{

  if (Row.CountryRegionName!="Canada"&&Row.CountryRegionName!="United States")

  {
    Row.ErrorColumn = 68; // ID of CountryRegionName column
    Row.ErrorMessage = "Address is not in North America.";
    Row.DirectRowToMyErrorOutput();

  }
  else
  {

    Row.DirectRowToOutput0();

  }

}
public override void Input0_ProcessInputRow(Input0Buffer Row)
{

  if (Row.CountryRegionName!="Canada"&&Row.CountryRegionName!="United States")

  {
    Row.ErrorColumn = 68; // ID of CountryRegionName column
    Row.ErrorMessage = "Address is not in North America.";
    Row.DirectRowToMyErrorOutput();

  }
  else
  {

    Row.DirectRowToOutput0();

  }

}
Integration Services simgesi (küçük) Integration Services ile güncel kalın

En son karşıdan yüklemeler, makaleler, örnekler ve Microsoft video yanı sıra topluluk seçili çözümleri için ziyaret Integration ServicesMSDN sayfası:


Bu güncelleştirmelerle ilgili otomatik bildirim almak için, sayfadaki RSS akışlarına abone olun.

Ayrıca bkz.

Görevler

Veri işleme hatası

Kavramlar

Bir veri akışı bileşeni hata çıkışları kullanarak

Zaman uyumlu dönüşümü Script bileşeni ile oluşturma