Aracılığıyla paylaş


Kayıt Kümesi Hedefi Kullanma

Şunlar için geçerlidir:SQL Server Azure Data Factory'de SSIS Integration Runtime

Kayıt kümesi hedefi, verileri bir dış veri kaynağına kaydetmez. Bunun yerine, Recordset hedefi verileri Nesne veri türünün Integration Services paket değişkeninde depolanan bir kayıt kümesinde belleğe kaydeder. Recordset hedefi verileri kaydettikten sonra, kayıt kümesinin bir satırını bir kerede işlemek için genellikle Foreach ADO numaralandırıcısı ile bir Foreach Döngüsü kapsayıcısı kullanırsınız. Foreach ADO numaralandırıcısı, geçerli satırın her sütunundaki değeri ayrı bir paket değişkenine kaydeder. Ardından, Foreach Döngüsü kapsayıcısının içinde yapılandırdığınız görevler bu değerleri değişkenlerden okur ve bunlarla bazı eylemler gerçekleştirir.

Recordset hedefini birçok farklı senaryoda kullanabilirsiniz. Aşağıda bazı örnekler verilmiştir:

  • Kayıt kümesindeki her satır için özelleştirilmiş bir e-posta iletisi göndermek için Posta Gönder görevini ve Integration Services ifade dilini kullanabilirsiniz.

  • Veri akışı görevinin içinde kaynak olarak yapılandırılmış bir Betik bileşenini kullanarak sütun değerlerini veri akışının sütunlarına okuyabilirsiniz. Ardından, satırı kayıt etmek ve dönüştürmek için dönüşümler ile hedefleri kullanabilirsiniz. Bu örnekte, Veri Akışı görevi her satır için bir kez çalıştırılır.

Aşağıdaki bölümlerde ilk olarak Recordset hedefini kullanma işlemi açıklanır ve ardından hedefin nasıl kullanılacağına ilişkin belirli bir örnek gösterilir.

Kayıt Kümesi Hedefi Kullanmanın Genel Adımları

Aşağıdaki yordam, bir Recordset hedefine veri kaydetmek için gereken adımları özetler ve her satırı işlemek için Foreach Döngüsü kapsayıcısını kullanır.

Foreach Döngüsü kapsayıcısını kullanarak verileri bir Recordset hedefine kaydetmek ve her satırı işlemek için

  1. SQL Server Veri Araçları'nda (SSDT), Integration Services paketi oluşturun veya açın.

  2. Recordset hedefi tarafından belleğe kaydedilen kayıt kümesini içeren bir değişken oluşturun ve değişkenin türünü objectolarak ayarlayın.

  3. Kullanmak istediğiniz kayıt kümesindeki her sütunun değerlerini içerecek uygun türlerde ek değişkenler oluşturun.

  4. Veri akışınızda kullanmayı planladığınız veri kaynağının gerektirdiği bağlantı yöneticisini ekleyin ve yapılandırın.

  5. Pakete bir Veri Akışı görevi ekleyin ve SSIS Designer'ın Veri Akışı sekmesinde verileri yükleyip dönüştürecek kaynakları ve dönüştürmeleri yapılandırın.

  6. Veri akışına bir Kayıt Kümesi hedefi ekleyin ve bunu dönüştürmelere bağlayın. Recordset hedefinin VariableName özelliği için kayıt kümesini tutmak için oluşturduğunuz değişkenin adını girin.

  7. SSIS Tasarımcısı'nın Denetim Akışı sekmesinde bir Foreach Döngüsü kapsayıcısı ekleyin ve Veri Akışı görevinden sonra bu kapsayıcıyı bağlayın. Ardından, kapsayıcıyı aşağıdaki ayarlarla yapılandırmak için Foreach Döngü Düzenleyicisi açın:

    1. Koleksiyonu sayfasında Foreach ADO Numaralandırıcısı'nı seçin. ArdındanADO nesne kaynağı değişkeni için kayıt kümesini içeren değişkeni seçin.

    2. Değişken Eşlemeleri sayfasında, kullanmak istediğiniz her sütunun sıfır tabanlı dizinini uygun değişkene eşleyin.

      Döngünün her yinelemesinde, numaralandırıcı bu değişkenleri geçerli satırdaki sütun değerleriyle doldurur.

  8. Foreach Döngüsü kapsayıcısının içinde, değişkenlerden değerleri okuyarak bir kerede kayıt kümesinin bir satırını işlemek için görevler ekleyin ve yapılandırın.

Kayıt Kümesi Hedefini Kullanma Örneği

Aşağıdaki örnekte, Veri Akışı görevi Sales.SalesPerson tablosundaki AdventureWorks2022 çalışanları hakkındaki bilgileri bir Kayıt Kümesi hedefine yükler. Ardından, foreach döngüsü kapsayıcısı bir kerede bir veri satırı okur ve Posta Gönder görevini çağırır. Posta Gönder görevi, her satış temsilcisine bonuslarının miktarı hakkında özelleştirilmiş bir e-posta iletisi göndermek için ifadeleri kullanır.

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

  1. SQL Server Veri Araçları'nda yeni bir Integration Services projesi oluşturun.

  2. SSIS menüsünden Değişkenlerseçin.

  3. Değişkenleri penceresinde, kayıt kümesini ve geçerli satırdaki sütun değerlerini tutacak değişkenleri oluşturun:

    1. adlı BonusRecordsetadlı bir değişken oluşturun ve türünü objectolarak ayarlayın.

      BonusRecordset değişkeni kayıt kümesini tutar.

    2. EmailAddressadlı bir değişken oluşturun ve türünü dizeolarak ayarlayın.

      EmailAddress değişkeni, satış temsilcisinin e-posta adresini tutar.

    3. adlı FirstNameadlı bir değişken oluşturun ve türünü dizeolarak ayarlayın.

      FirstName değişkeni, satış temsilcisinin adını tutar.

    4. adlı Bonusadlı bir değişken oluşturun ve türünü doubleolarak ayarlayın.

      Bonus değişkeni, satış temsilcisinin bonusunun miktarını tutar.

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

  1. SSIS Tasarımcısı'nın Bağlantı Yöneticileri alanında AdventureWorks2022 örnek veritabanına bağlanan yeni bir OLE DB bağlantı yöneticisi ekleyin ve yapılandırın.

    Veri Akışı görevindeki OLE DB kaynağı, verileri almak için bu bağlantı yöneticisini kullanır.

  2. Bağlantı Yöneticileri alanında, kullanılabilir bir SMTP sunucusuna bağlanan yeni bir SMTP bağlantı yöneticisi ekleyin ve yapılandırın.

    Foreach Döngüsü kapsayıcısının içindeki Posta Gönder görevi, e-posta göndermek için bu bağlantı yöneticisini kullanır.

Veri akışını ve Kayıt Kümesi Hedefini yapılandırmak için

  1. SSIS Designer'ın Denetim Akışı sekmesinde tasarım yüzeyine bir Veri Akışı görevi ekleyin.

  2. Veri Akışı sekmesinde, Veri Akışı görevine bir OLE DB kaynağı ekleyin ve OLE DB Kaynak Düzenleyicisi'ni açın.

  3. Düzenleyicinin Bağlantı Yöneticisi sayfasında, kaynağı aşağıdaki ayarlarla yapılandırın:

    1. OLE DB bağlantı yöneticisiiçin önceden oluşturduğunuz OLE DB bağlantı yöneticisini seçin.

    2. Veri erişim moduiçinSQL komutunu seçin.

    3. SQL komut metni için aşağıdaki sorguyu 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

      Bonus sütunundaki para birimi değerini float olarak dönüştürdükten sonra, bu değeri türü Doubleolan bir paket değişkenine yükleyebilirsiniz.

  4. Veri Akışı sekmesinde bir Kayıt Kümesi hedefi ekleyin ve OLE DB kaynağından sonra hedefi bağlayın.

  5. Kayıt Kümesi Hedef Düzenleyicisi'ni açın ve hedefi aşağıdaki ayarlarla yapılandırın:

    1. Bileşeni Özellikleri sekmesinde, VariableName özelliği için User::BonusRecordsetöğesini seçin.

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

Foreach Döngüsü kapsayıcısını yapılandırmak ve paketi çalıştırmak için

  1. SSIS Designer'ın Denetim Akışı sekmesinde bir Foreach Döngüsü kapsayıcısı ekleyin ve Veri Akışı görevinden sonra kapsayıcıyı bağlayın.

  2. Foreach Döngü Düzenleyicisi'ni açın ve kapsayıcıyı aşağıdaki ayarlarla yapılandırın:

    1. Koleksiyonu sayfasında, Numaralandırıcıiçin Foreach ADO Numaralandırıcısıseçin ve ADO nesne kaynağı değişkeniiçin User::BonusRecordsetöğesini seçin.

    2. Değişken Eşlemeleri sayfasında, User::EmailAddress öğesini dizin 0'a, User::FirstName öğesini dizin 1'e ve User::Bonus öğesini dizin 2'ye eşleyin.

  3. Denetim Akışı sekmesinde, Foreach Döngüsü kapsayıcısının içine Posta Gönder görevi ekleyin.

  4. Posta Gönder Görev Düzenleyicisi'niaçın ve Posta sayfasında, görevi aşağıdaki ayarlarla yapılandırın:

    1. SmtpConnectioniçin, daha önce yapılandırılan SMTP bağlantı yöneticisini seçin.

    2. 'dan için uygun bir e-posta adresi girin.

      Kendi e-posta adresinizi kullanırsanız paketin başarıyla çalıştığını onaylayabilirsiniz. Posta Gönder görevi tarafından AdventureWorks2022'nin kurgusal satış temsilcilerine gönderilen iletiler için teslim edilemeyen makbuzlar alırsınız.

    3. için varsayılan bir e-posta adresi girin.

      Bu değer kullanılmaz, ancak çalışma zamanında her satış temsilcisinin e-posta adresiyle değiştirilir.

    4. Konuiçin "Yıllık bonusunuz" yazın.

    5. MessageSourceTypeiçin Doğrudan Girişseçin.

  5. Posta Görev Düzenleyicisiİfadeler sayfasında üç nokta düğmesine (...) tıklayarak Özellik İfadeleri Düzenleyicisi'niaçın.

  6. Özellik İfadeleri Düzenleyicisi'ndeaşağıdaki bilgileri girin:

    1. ToLineiçin aşağıdaki ifadeyi ekleyin:

      @[User::EmailAddress]  
      
    2. MessageSource özelliği için aşağıdaki ifadeyi ekleyin:

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

    Geçerli bir SMTP sunucusu belirttiyseniz ve kendi e-posta adresinizi sağladıysanız, Posta Gönder görevinin AdventureWorks2022'nin kurgusal satış temsilcilerine gönderdiği iletiler için teslim edilemeyen makbuzlar alırsınız.