Aracılığıyla paylaş


Nasıl Yapılır: Recordset hedefi kullanın.

Recordset'İ hedef veri için bir dış veri kaydetmez kaynak.Bunun yerine, Recordset'İ hedef bellekte depolanan bir kayıt verilerini kaydeden birIntegration Servicespaket değişkenObjectveri türü.Recordset'İ hedef verileri kaydeder sonra genellikle bir Foreach döngüsü kapsayıcı Foreach ADO numaralayıcısı oluşturulurken karşılaşılan bir satır kümesinin işlemek için kullanarak bir saat.Foreach ADO numaralayıcı değeri her kaydeder sütun ayrı paket değişken olarak geçerli satırın.Sonra Foreach döngüsü kapsayıcı yapılandırma görevleri değişkenlerin değerleri okumak ve bunlarla birlikte bazı eylemleri gerçekleştirmek.

Birçok farklı senaryolarda Recordset hedef kullanabilirsiniz.Bazı örnekler şunlardır:

  • , Posta gönderme görev kullanımı veIntegration Serviceskayıtkümesi. her satır için bir özel e-posta iletisi göndermek için ifade dili

  • Kullanabileceğiniz bir komut dosyası bileşen olarak yapılandırılmış bir kaynak, veri akışının sütunlara sütun değerlerini okumak için bir veri akışı görev içinde.Daha sonra satırı dönüştürme ve dönüştürme ve hedefleri kullanabilirsiniz.Bu örnekte, veri akışı görevi her satır için bir kez çalışır.

Aşağıdaki bölümlerde, önce genel Recordset hedef kullanarak işlem tanımlamak ve sonra hedef nasıl belirli bir örneği gösterir.

Recordset'İ hedef kullanmak için genel adımlar

Aşağıdaki yordam, Recordset hedef veri kaydetme ve sonra Foreach döngüsü kapsayıcı her satırı işlemek için gereken adımları özetlemektedir.

Bir Recordset hedef veri kaydetme ve her satırın Foreach döngüsü kabı kullanarak işlemek için

  1. InBusiness Intelligence Development Studio, oluşturduğunuzda veya birIntegration Servicespaket.

  2. Belleğe kayıt tarafından kaydedilen kayıt içeren bir değişken oluşturmak hedef ve değişken türüObject.

  3. Her değerleri içeren ilgili türü ek değişkenlerinin sütun kullanmak istediğinizi kayıt kümesinde.

  4. Ekleme ve yapılandırma, kullanmayı planladığınız veri kaynağı için gereken Bağlantı Yöneticisi, veri akışı.

  5. Paket ve veri akışı sekmesinde veri akışı görevi EkleSSISTasarımcı, kaynakları ve dönüşüm yüklemek ve dönüşüm verileri.

  6. Bir Recordset'İ hedef veri akışına eklemek ve dönüştürmeleri için bağlayın.İçinVariableNameözellik kayıt kümesinin hedef, kayıt kümesinin. tutmak için oluşturulan değişken adını

  7. Sekmesinde, Denetim akışıSSISTasarımcı, bir Foreach döngüsü kapsayıcı ekleyip bağlandığınızda bu kabı sonra veri akışı görevi.Sonra açıkForeach döngüsü Düzenleyicisi kapsayıcı aşağıdaki ayarlarla yapılandırmak için:

    1. ,koleksiyon sayfa, Foreach ADO sayacı. seçin Daha sonra içinADO Nesne kaynak değişkeniiçeren kayıt. değişkeni seçin

    2. ,Değişken eşlemeleri sayfasında, uygun değişken. için kullanmasını istediğiniz her sütunun sıfır tabanlı dizini eşleme

      Döngünün her yinelenişinde numaralayıcı bu değişkenler geçerli satırdaki sütun değerlerle doldurur.

  8. Foreach döngüsü kapsayıcı içinde ekleyin ve görevlerin değişkenlerin değerleri okuyarak bir defada bir satır kümesinin işlemek için yapılandırma.

Recordset hedefi kullanarak örnekleri

Aşağıdaki örnekte, veri akışı görevi yükleyen bilgileri hakkındaAdventureWorksÇalışanlar Sales.SalesPerson tablosundan bir kayıt kümesi hedef.Daha sonra bir Foreach döngüsü kapsayıcı bir defada bir satır veri okur ve posta Gönder göreve çağırır.Posta Gönder görev ifadeler her satış temsilcisine ilgili kişinin ek özelleştirilmiş e-posta iletisi göndermek için kullanır.

Projeyi oluşturmak ve değişkenleri yapılandırmak için

  1. InBI Development StudioYeni oluşturmaIntegration ServicesProje.

  2. ,SSIS menüsü, seçim değişkenler .

  3. ,Değişkenleri penceresinde, kayıt ve geçerli satırın sütun değerlerini tutan değişkeni oluşturun:

    1. Bir değişken olarak adlandırılan oluşturBonusRecord küme, ve küme türünü için Object.

      The BonusRecordset variable holds the recordset.

    2. Bir değişken olarak adlandırılan oluşturEpostaAdresi, ve küme türünü için String.

      The EmailAddress variable holds the salesperson's e-mail address.

    3. Bir değişken olarak adlandırılan oluşturAdı, ve küme türünü için String.

      The FirstName variable holds the salesperson's first name.

    4. Bir değişken olarak adlandırılan oluşturÖdül için türünü ayarlayın Double.

      The Bonus variable holds the amount of the salesperson's bonus.

Bağlantı yöneticileri yapılandırmak için

  1. Bağlantısı, yöneticiler alanıSSISTasarımcı, ekleme ve bağlanan yeni bir OLE DB Bağlantı Yöneticisi yapılandırmaAdventureWorksörnek veritabanı.

    veri akışı görevi OLE DB veri kaynağına veri almak için bu bağlantı Yöneticisi kullanın.

  2. Bağlantı, yöneticiler alanında, eklemek ve bir yeni SMTP bağlantı Yöneticisi, bağlar için kullanılabilir bir SMTP sunucusu.

    Posta Gönder görev Foreach döngüsü kapsayıcı içinde bu bağlantı Yöneticisi, e-postalar göndermek için kullanır.

Veri akışı ve Recordset hedefi yapılandırmak için

  1. ,denetim akışıSSISTasarımcısı, bir veri akışı görevi tasarım yüzeyi. Ekle sekmesi

  2. ,Veri akışı sekmesi, veri akışı görevi için bir OLE DB kaynağı eklemek ve açın OLE DB Kaynak Düzenleyicisi.

  3. ,Bağlantı Yöneticisi Düzenleyici, sayfasını kaynak aşağıdaki ayarlarla yapılandırmak:

    1. İçinOLE DB Bağlantı Yöneticisi, daha önce oluşturduğunuz seçin OLE DB Bağlantı Yöneticisi.

    2. İçinVeri erişim modu, select SQL command.

    3. İçinSQL komut metni, aşağıdaki sorgu girin:

      SELECT     Person.Contact.EmailAddress, Person.Contact.FirstName, CONVERT(float, Sales.SalesPerson.Bonus) AS Bonus
      FROM         Sales.SalesPerson INNER JOIN
                            Person.Contact ON Sales.SalesPerson.SalesPersonID = Person.Contact.ContactID
      

      Not

      Dönüştürmek kullandığınızcurrencyiçin Bonus sütununda birfloatönce bu türü olan bir paket değişken değerini yüklemekDouble.

  4. ,Veri akışı sekmesi, bir Recordset'İ hedef ekleme ve hedef OLE DB kaynak. sonra bağlanın

  5. AçıkRecordset'İ hedef Düzenleyicisive hedef aşağıdaki ayarlarla yapılandırın:

    1. ,Bileşen ÖzellikleriUser::BonusRecordset özellik VariableName, sekmesini seçin.

    2. ,Giriş sütunlar sekmesinde, üç kullanılabilir sütunların. seçin

Foreach döngüsü kapsayıcı yapılandırmak ve paket çalıştırmak için

  1. ,denetim akışıSSISTasarımcısı, bir Foreach döngüsü kapsayıcı ekleyip bağlandığınızda sonra kabı sekmesi veri akışı görevi.

  2. AçıkForeach döngüsü Düzenleyicisive konteyner aşağıdaki ayarlarla yapılandırın:

    1. On the Collection page, for Enumerator, select Foreach ADO Enumerator, and for ADO object source variable, select User::BonusRecordset.

    2. ,Değişken eşlemeleri sayfa, eşleme User::EmailAddress 0 dizin, User::FirstName 1 dizine ve dizine 2 User::Bonus .

  3. ,denetim akışı bir posta Gönder görev. sekmesinde, Foreach döngüsü kapsayıcı içinde ekleme

  4. AçıkGörev Düzenleyicisi posta göndermeve daha sonra posta sayfa, görev aşağıdaki ayarlarla yapılandırın:

    1. İçinSmtpConnection, önceden yapılandırılmış seçin SMTP bağlantı Yöneticisi.

    2. İçinGelen, bir uygun e-posta adresi. girin

      Kendi e-posta adresi kullanırsanız, paket başarılı bir şekilde çalıştığını onaylamak mümkün olacaktır.Posta Gönder hayali alfabetik göreve gönderilen iletiler için teslim edilemeyen giriş alacakAdventureWorks.

    3. İçinTo, bir varsayılan e-posta adresi. girin

      Bu değer kullanılmaz, ancak çalışma sırasında değiştirilecek saat her satışçının e-posta adresi.

    4. İçinKonu, "Kendi Yıllık Prim" girin.

    5. İçinMessageSourceType, seçme Doğrudan giriş .

  5. ,İfadelerGönder posta görev Düzenleyicisi, sayfanın ( Özellik ifadeleri Düzenleyiciaçmak için ... ) üç nokta yan yana düğmesini tıklayın.

  6. ,Özellik ifadeleri Düzenleyici, aşağıdaki bilgileri girin:

    1. İçinToLine, aşağıdaki ifade ekleyin:

      @[User::EmailAddress]
      
    2. İçinMessageSource özellik, aşağıdaki ifade ekleyin:

      "Dear " +  @[User::FirstName] + ": The amount of your bonus for this year is $" +  (DT_WSTR, 12) @[User::Bonus] + ". Thank you!"
      
  7. paket çalıştırın.

    Geçerli bir SMTP sunucusu belirtilen ve kendi e-posta adresi verilen teslim edilemeyen iletileri gönderen posta Gönder görevi hayali satışçılar için girişleri alacakAdventureWorks.