Aracılığıyla paylaş


Nasıl yapılır: Bir Recordset hedef kullanın

Recordset hedef dış veri kaynağına veri kaydetmek kaynak.Bunun yerine, Recordset hedef bellekte depolanan bir kayıt kümesindeki verileri kaydeder bir Integration Services paket değişken Object veri türü.Recordset hedef veri kaydeder sonra genellikle bir Foreach döngü kapsayıcı numaralayıcı Foreach ado ile recordset'in bir satır işlemek için kullanarak bir saat.Foreach ado numaralayıcı değeri her birinden kaydeder sütun geçerli satırın ayrı paket değişken içine.Daha sonra Foreach döngü kapsayıcı yapılandırma görevleri değişkenlerinin değerleri okumak ve bazı gerçekleştirmek eylem ile onları.

Recordset hedef birçok farklı senaryolarda kullanabilirsiniz.İşte bazı örnekler:

  • Posta Gönder görev kullanabilirsiniz ve Integration Services ifade dil recordset her satır için bir özelleştirilmiş e-posta iletisi göndermek için

  • Sütunlara veri akışının sütun değerlerini okumak için bir veri akışı görev içinde kaynak olarak yapılandırılan bir komut dosyası bileşeni kullanabilirsiniz.Daha sonra Dönüşümleri ve hedefleri, dönüştürmek ve satırın kaydetmek için kullanın.Bu örnekte, veri akışı görev her satır için bir kez çalıştırılır.

Aşağıdaki bölümlerde ilk Recordset hedef kullanarak genel işlemi tanımlamak ve sonra hedef nasıl belirli bir örnek göster.

Bir Recordset hedef kullanarak genel adımları

Aşağıdaki yordam, bir Recordset hedef veri kaydetmek ve daha sonra her satır işlemek için Foreach döngü kapsayıcı kullanmak için gerekli adımları özetlemektedir.

Bir Recordset hedef veri kaydetmek ve her satır Foreach döngü kapsayıcı kullanarak işlemek için

  1. De Business Intelligence Development Studio, oluşturduğunuzda veya bir Integration Services paket.

  2. Recordset hedef tarafından belleğe kaydedilen kayıt küme içerir ve değişkenin türünü ayarlamak bir değişken oluşturmak Object.

  3. Kullanmak istediğiniz kayıt kümesi içindeki her sütun değerlerini içerecek şekilde uygun türleri ek değişkenlerini oluşturun.

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

  5. Paket ve veri akışı sekmesinde veri akışı görev ekleme SSIS Tasarımcısı, kaynakları ve dönüştürmeleri yüklemek ve dönüşümü veri.

  6. Bir Recordset hedef ekleme veri akışı ve dönüştürmeleri bağlanın.İçin VariableName özellik Recordset hedef tutun oluşturulan değişken adını girinrecordset.

  7. Akış denetimi sekmesinde SSIS Tasarımcısı, Foreach döngü kapsayıcı ekleyin ve sonra bu kapsayıcı bağlanınveri akışı görev. Daha sonra açın Foreach döngü Düzenleyicisi'ni yapılandırmak için kapsayıcı ile aşağıdaki ayarları:

    1. Üzerinde koleksiyonu sayfa, Foreach ado numaralayıcı seçin.Daha sonra için ado nesne kaynak değişkeni, Recordset'i içeren değişkeni seçin.

    2. Üzerinde Değişken eşleştirmeleri sayfa, uygun değişken için kullanmak istediğiniz her sütunun sıfır tabanlı dizini eşleyin.

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

  8. Foreach döngü kapsayıcı içinde ekleme ve yapılandırma görevleri sırasında recordset'in bir satır işlemek için bir saat değişkenlerinin değerleri okuma tarafından.

Recordset hedef kullanmaya örnek

Hakkında bilgileri aşağıdaki örnekte, veri akışı görev yükler AdventureWorks2008R2 çalışanlardan Sales.SalesPerson tablo bir Recordset hedef.Daha sonra bir Foreach döngü kapsayıcı bir satır veri okur bir saatve posta Gönder görev çağırır. Posta Gönder görev, her satış temsilcisinin kendi bonus miktarı hakkında özelleştirilmiş e-posta iletisi göndermek için ifadeler kullanır.

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

  1. De BI Development Studio, oluştur Yeni bir Integration Services projesi.

  2. Üzerinde SSIS Seç menüsünden değişkenleri.

  3. De değişkenleri penceresinde, recordset, geçerli satırın sütun değerlerini ve basılı değişkenleri oluşturun:

    1. Olarak adlandırılan bir değişken oluşturmak BonusRecordküme, ve küme türü için Object.

      The BonusRecordset variable holds the recordset.

    2. Olarak adlandırılan bir değişken oluşturmak EpostaAdresi, ve küme türü için String.

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

    3. Olarak adlandırılan bir değişken oluşturmak ad, ve küme türü için String.

      The FirstName variable holds the salesperson's first name.

    4. Olarak adlandırılan bir değişken oluşturmak ek, ve küme türü için Double.

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

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

  1. Bağlantı yöneticileri alanında SSIS Tasarımcısı, ekleme ve bağlanan yeni bir ole db Bağlantı Yöneticisi yapılandırma AdventureWorks2008R2 örnek veritabanı.

    ole db kaynak veri akışı görev verileri almak için bu bağlantı Yöneticisi kullanır.

  2. Bağlantı yöneticileri alanında, ekleme ve kullanılabilir bir smtp sunucusuna bağlandığında yeni bir smtp bağlantı Yöneticisi yapılandırma.

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

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

  1. Üzerinde Akış denetimi sekmesinde SSIS Tasarımcısı, tasarım yüzeyi veri akışı görev ekleme

  2. Üzerinde Veri akışının sekmesinde ole db kaynak veri akışı görev eklemek ve sonra açın ole db Kaynak Düzenleyicisi.

  3. Üzerinde Bağlantı Yöneticisi sayfa Editörü, kaynak aşağıdaki ayarlarla yapılandırın:

    1. İçin ole db Bağlantı Yöneticisi, önceden oluşturulmuş ole db Bağlantı Yöneticisi'ni seçin.

    2. İçin veri erişim modunu, select sql komutu.

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

      SELECT     Sales.vSalesPerson.EmailAddress, Sales.vSalesPerson.FirstName, CONVERT(float, Sales.SalesPerson.Bonus) AS Bonus
      FROM         Sales.SalesPerson INNER JOIN
                            Sales.vSalesPerson ON Sales.SalesPerson.BusinessEntityID = Sales.vSalesPerson.BusinessEntityID;
      

      Not

      Dönüştürmek zorunda currency , değer Bonus sütun için bir float önce bu değer türü olan paket değişken içine yüklemek Double.

  4. Üzerinde Veri akışının sekmesinde Recordset hedef ekleyin ve sonra ole db kaynak hedefe bağlanmak.

  5. Açık Recordset hedef Düzenleyicisive hedef aşağıdaki ayarlarla yapılandırın:

    1. Üzerinde Bileşen özellikleri sekmesinde için Değişkenadı özellik select User::BonusRecordset.

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

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

  1. Üzerinde Akış denetimi sekmesinde SSIS Tasarımcısı, bir Foreach döngü kapsayıcı ekleyin ve sonra kapsayıcı bağlanınveri akışı görev.

  2. Açık Foreach döngü Düzenleyicisi'nive kapsayıcı aşağıdaki ayarlarla:

    1. Üzerinde koleksiyonu sayfa için numaralayıcıseçin Foreach ado numaralayıcıve ado nesne kaynak değişkeniseçin User::BonusRecordset.

    2. Üzerinde Değişken eşleştirmeleri sayfa, harita User::EmailAddress 0, dizin oluşturmak için User::FirstName 1, dizin oluşturmak ve User::Bonus için dizin 2.

  3. Üzerinde Akış denetimi posta Gönder görev Foreach döngü kapsayıcı içinde sekme ekleyin.

  4. Açık Gönder posta görev Düzenleyicisive posta sayfa, görevi aşağıdaki ayarlarla yapılandırın:

    1. İçin SmtpConnection, önceden yapılandırılmış smtp bağlantı Yöneticisi'ni seçin.

    2. İçin dan, uygun e-posta adresini girin.

      E-posta adresinizi kullanın, paket başarılı bir şekilde çalıştığını onaylamak olacaktır.Teslim edilemeyen makbuzlarını hayali satış temsilcileri için posta Gönder görev tarafından gönderilen iletileri alır AdventureWorks2008R2.

    3. İçin için, varsayılan e-posta adresini girin.

      Bu değer kullanılmayacak, ancak çalışma zamanında yerine saat her satışçının e-posta adresi.

    4. İçin Konu, "Yıllık ödül" girin.

    5. İçin MessageSourceType, select Doğrudan giriş.

  5. Üzerinde ifadeler sayfa Gönder posta görev Düzenleyicisi, üç nokta düğmesini (...) açmak için Özellik ifadeleri Düzenleyici.

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

    1. İçin ToLine, aşağıdakileri ekleyin ifade:

      @[User::EmailAddress]
      
    2. İçin MessageSource özellik, aşağıdakileri ekleyin ifade:

      "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 alırsınız teslim edilemeyen hayali satış temsilcileri için posta Gönder görev gönderdiği iletiler için giriş AdventureWorks2008R2.