Kontainer Perulangan Foreach

Berlaku untuk: Integration Runtime SSIS SQL Server di Azure Data Factory

Kontainer Foreach Loop mendefinisikan alur kontrol berulang dalam paket. Implementasi perulangan mirip dengan struktur perulangan Foreach dalam bahasa pemrograman. Dalam paket, perulangan diaktifkan dengan menggunakan enumerator Foreach. Kontainer Foreach Loop mengulangi alur kontrol untuk setiap anggota enumerator tertentu.

SQL Server Integration Services menyediakan jenis enumerator berikut:

  • Enumerator Foreach ADO untuk menghitung baris dalam tabel. Misalnya, Anda bisa mendapatkan baris dalam kumpulan catatan ADO.

    Tujuan Recordset menyimpan data dalam memori dalam kumpulan rekaman yang disimpan dalam variabel paket jenis data Objek . Anda biasanya menggunakan kontainer Foreach Loop dengan enumerator Foreach ADO untuk memproses satu baris recordset pada satu waktu. Variabel yang ditentukan untuk enumerator Foreach ADO harus dari jenis data Objek. Untuk informasi selengkapnya tentang tujuan Recordset, lihat Menggunakan Tujuan Recordset.

  • Foreach ADO.NET enumerator Rowset Skema untuk menghitung informasi skema tentang sumber data. Misalnya, Anda dapat menghitung dan mendapatkan daftar tabel di database SQL Server AdventureWorks2022.

  • Enumerator File Foreach untuk menghitung file dalam folder. Enumerator dapat melintasi subfolder. Misalnya, Anda dapat membaca semua file yang memiliki ekstensi nama file *.log di folder Windows dan subfoldernya. Perhatikan bahwa urutan pengambilan file tidak dapat ditentukan.

  • Enumerator Foreach From Variable untuk menghitung objek enumerasi yang berisi variabel tertentu. Objek yang dapat dijumlahkan dapat berupa array, ADO.NET DataTable, enumerator Layanan Integrasi, dan sebagainya. Misalnya, Anda dapat menghitung nilai array yang berisi nama server.

  • Enumerator Item Foreach untuk menghitung item yang merupakan koleksi. Misalnya, Anda dapat menghitung nama executable dan direktori kerja yang digunakan tugas Jalankan Proses.

  • Enumerator Foreach Nodelist untuk menghitung kumpulan hasil ekspresi Xml Path Language (XPath). Misalnya, ekspresi ini menghitung dan mendapatkan daftar semua penulis dalam periode klasik: /authors/author[@period='classical'].

  • Enumerator SMO Foreach untuk menghitung objek SQL Server Management Objects (SMO). Misalnya, Anda bisa menghitung dan mendapatkan daftar tampilan dalam database SQL Server.

  • Foreach HDFS File Enumerator untuk menghitung file HDFS di lokasi HDFS yang ditentukan.

  • Enumerator Azure Blob Foreach untuk menghitung blob dalam kontainer blob di Azure Storage.

  • Enumerator File ADLS Foreach untuk menghitung file dalam direktori di Azure Data Lake Store.

  • Foreach Data Lake Storage Gen2 Enumerator file untuk menghitung file dalam direktori di Azure Data Lake Store Gen2.

Diagram berikut menunjukkan kontainer Foreach Loop yang memiliki tugas Sistem File. Perulangan Foreach menggunakan enumerator File Foreach, dan tugas Sistem File dikonfigurasi untuk menyalin file. Jika folder yang ditentukan enumerator berisi empat file, perulangan berulang empat kali dan menyalin empat file.

Kontainer Foreach Loop yang menghitung folder

Anda dapat menggunakan kombinasi variabel dan ekspresi properti untuk memperbarui properti objek paket dengan nilai koleksi enumerator. Pertama Anda memetakan nilai koleksi ke variabel yang ditentukan pengguna, lalu Anda mengimplementasikan ekspresi properti pada properti yang menggunakan variabel . Misalnya, nilai koleksi enumerator File Foreach dipetakan ke variabel yang disebut MyFile dan variabel kemudian digunakan dalam ekspresi properti untuk properti Subjek dari tugas Kirim Email. Saat paket berjalan, properti Subjek diperbarui dengan nama file setiap kali perulangan diulang. Untuk informasi selengkapnya, lihat Menggunakan Ekspresi Properti dalam Paket.

Variabel yang dipetakan ke nilai koleksi enumerator juga dapat digunakan dalam ekspresi dan skrip.

Kontainer Foreach Loop dapat menyertakan beberapa tugas dan kontainer, tetapi hanya dapat menggunakan satu jenis enumerator. Jika kontainer Foreach Loop menyertakan beberapa tugas, Anda dapat memetakan nilai koleksi enumerator ke beberapa properti dari setiap tugas.

Anda dapat mengatur atribut transaksi pada kontainer Foreach Loop untuk menentukan transaksi untuk subset alur kontrol paket. Dengan cara ini, Anda dapat mengelola transaksi di tingkat Foreach Loop alih-alih tingkat paket. Misalnya, jika kontainer Foreach Loop mengulangi alur kontrol yang memperbarui dimensi dan tabel fakta dalam skema star, Anda dapat mengonfigurasi transaksi untuk memastikan bahwa semua tabel fakta berhasil diperbarui, atau tidak ada yang diperbarui. Untuk informasi selengkapnya, lihat Transaksi Layanan Integrasi.

Jenis Enumerator

Enumerator dapat dikonfigurasi, dan Anda harus memberikan informasi yang berbeda, tergantung pada enumerator.

Tabel berikut ini meringkas informasi yang diperlukan setiap jenis enumerator.

Enumerator Persyaratan konfigurasi
Foreach ADO Tentukan variabel sumber objek ADO dan mode enumerator. Variabel harus dari jenis data Objek.
Set Baris Skema ADO.NET Foreach Tentukan koneksi ke database dan skema yang akan dijumlahkan.
Foreach File Tentukan folder dan file yang akan dijumlahkan, format nama file dari file yang diambil, dan apakah akan melintasi subfolder.
Foreach Dari Variabel Tentukan variabel yang berisi objek yang akan dijumlahkan.
Foreach Item Tentukan item dalam koleksi Item Foreach, termasuk jenis data kolom dan kolom.
Foreach Nodelist Tentukan sumber dokumen XML dan konfigurasikan operasi JalurX.
Foreach SMO Tentukan koneksi ke database dan objek SMO untuk dijumlahkan.
Foreach HDFS File Enumerator Tentukan folder dan file yang akan dijumlahkan, format nama file dari file yang diambil, dan apakah akan melintasi subfolder.
Foreach Azure Blob Tentukan kontainer Azure Blob Storage yang berisi blob yang akan dijumlahkan.
Foreach ADLS File Tentukan direktori Azure Data Lake Store yang berisi file yang akan dijumlahkan.
File Data Lake Storage Gen2 Foreach Tentukan direktori Azure Data Lake Storage Gen2 yang berisi file yang akan dijumlahkan, bersama dengan opsi lainnya.

Menambahkan enumerasi ke alur kontrol dengan kontainer Foreach Loop

Layanan Integrasi mencakup kontainer Foreach Loop, elemen alur kontrol yang memudahkan untuk menyertakan konstruksi perulangan yang menghitung file dan objek dalam alur kontrol paket. Untuk informasi selengkapnya, lihat Kontainer Perulangan Foreach.

Kontainer Foreach Loop tidak menyediakan fungsionalitas; ini hanya menyediakan struktur tempat Anda membangun alur kontrol yang dapat diulang, menentukan jenis enumerator, dan mengonfigurasi enumerator. Untuk menyediakan fungsionalitas kontainer, Anda harus menyertakan setidaknya satu tugas dalam kontainer Foreach Loop. Untuk informasi selengkapnya, lihat Tugas Layanan Integrasi.

Kontainer Foreach Loop dapat menyertakan alur kontrol dengan beberapa tugas dan kontainer lainnya. Menambahkan tugas dan kontainer ke kontainer Foreach Loop mirip dengan menambahkannya ke paket, kecuali Anda menyeret tugas dan kontainer ke kontainer Foreach Loop alih-alih ke paket. Jika kontainer Foreach Loop menyertakan lebih dari satu tugas atau kontainer, Anda dapat menghubungkannya menggunakan batasan prioritas seperti yang Anda lakukan dalam paket. Untuk informasi selengkapnya, lihat Batasan Prioritas.

Menambahkan dan mengonfigurasi kontainer Foreach Loop

  1. Tambahkan kontainer Foreach Loop ke paket. Untuk informasi selengkapnya, lihat Menambahkan atau Menghapus Tugas atau Kontainer dalam Alur Kontrol.

  2. Tambahkan tugas dan kontainer ke kontainer Foreach Loop. Untuk informasi selengkapnya, lihat Menambahkan atau Menghapus Tugas atau Kontainer dalam Alur Kontrol.

  3. Sambungkan tugas dan kontainer dalam kontainer Foreach Loop menggunakan batasan prioritas. Untuk informasi selengkapnya, lihat Menyambungkan Tugas dan Kontainer dengan Menggunakan Batasan Prioritas Default.

  4. Konfigurasikan kontainer Foreach Loop. Untuk informasi selengkapnya, lihat Mengonfigurasi Kontainer Perulangan Foreach.

Mengonfigurasi Kontainer Perulangan Foreach

Prosedur ini menjelaskan cara mengonfigurasi kontainer Foreach Loop, termasuk ekspresi properti di tingkat enumerator dan kontainer.

  1. Di SQL Server Data Tools (SSDT), buka proyek Layanan Integrasi yang berisi paket yang Anda inginkan.

  2. Klik tab Alur Kontrol dan klik dua kali Perulangan Foreach.

  3. Dalam kotak dialog Editor Perulangan Foreach , klik Umum dan, secara opsional, ubah nama dan deskripsi Perulangan Foreach.

  4. Klik Koleksi dan pilih jenis enumerator dari daftar Enumerator .

  5. Tentukan enumerator dan atur opsi enumerator sebagai berikut:

    • Untuk menggunakan enumerator File Foreach, berikan folder yang berisi file untuk dijumlahkan, tentukan filter untuk nama dan jenis file, dan tentukan apakah nama file yang sepenuhnya memenuhi syarat harus dikembalikan. Selain itu, tunjukkan apakah akan berulang melalui subfolder untuk lebih banyak file.

    • Untuk menggunakan enumerator Item Foreach, klik Kolom, dan, dalam kotak dialog Untuk Setiap Kolom Item , klik Tambahkan untuk menambahkan kolom. Pilih jenis data di daftar Tipe Data untuk setiap kolom, dan klik OK.

      Ketik nilai dalam kolom atau pilih nilai dari daftar.

      Catatan

      Untuk menambahkan baris baru, klik di mana saja di luar sel tempat Anda mengetik.

      Catatan

      Jika nilai tidak kompatibel dengan jenis data kolom, teks akan disorot.

    • Untuk menggunakan enumerator Foreach ADO, pilih variabel yang ada atau klik Variabel baru di daftar variabel sumber objek ADO untuk menentukan variabel yang berisi nama objek ADO untuk dijumlahkan, dan pilih opsi mode enumerasi.

      Jika membuat variabel baru, atur properti variabel dalam kotak dialog Tambahkan Variabel .

    • Untuk menggunakan enumerator Foreach ADO.NET Schema Rowset, pilih koneksi ADO.NET yang ada atau klik Koneksi baru di daftar Koneksi , lalu pilih skema.

      Secara opsional, klik Atur Pembatasan dan pilih pembatasan skema, pilih variabel yang berisi nilai pembatasan atau ketik nilai pembatasan, dan klik OK.

    • Untuk menggunakan enumerator Foreach From Variable, pilih variabel di daftar Variabel .

    • Untuk menggunakan enumerator Foreach NodeList, klik DocumentSourceType dan pilih jenis sumber dari daftar, lalu klik DocumentSource. Bergantung pada nilai yang dipilih untuk DocumentSourceType, pilih variabel atau koneksi file dari daftar, buat variabel atau koneksi file baru, atau ketik sumber XML di Editor Sumber Dokumen.

      Selanjutnya, klik EnumerationType dan pilih jenis enumerasi dari daftar. Jika EnumerationType adalah Navigator, Node, atau NodeText, klik OuterXPathStringSourceType dan pilih jenis sumber, lalu klik OuterXPathString. Bergantung pada nilai yang ditetapkan untuk OuterXPathStringSourceType, pilih variabel atau koneksi file dari daftar, buat variabel atau koneksi file baru, atau ketik string untuk ekspresi Xml Path Language (XPath) luar.

      Jika EnumerationType adalah ElementCollection, atur OuterXPathStringSourceType dan OuterXPathString seperti yang dijelaskan di atas. Kemudian, klik InnerElementType dan pilih jenis enumerasi untuk elemen dalam, lalu klik InnerXPathStringSourceType. Bergantung pada nilai yang ditetapkan untuk InnerXPathStringSourceType, pilih variabel atau koneksi file, buat variabel atau koneksi file baru, atau ketik string untuk ekspresi JalurX dalam.

    • Untuk menggunakan enumerator Foreach SMO, pilih koneksi ADO.NET yang ada atau klik Koneksi baru di daftar Koneksi , lalu ketik string yang akan digunakan atau klik Telusuri. Jika Anda mengklik Telusuri, dalam kotak dialog Pilih Enumerasi SMO , pilih jenis objek untuk menghitung dan jenis enumerasi, dan klik OK.

  6. Secara opsional, klik tombol telusuri (...) di kotak teks Ekspresi pada halaman Koleksi untuk membuat ekspresi yang memperbarui nilai properti. Untuk informasi selengkapnya, lihat Menambahkan atau Mengubah Ekspresi Properti.

    Catatan

    Properti yang tercantum dalam daftar Properti bervariasi menurut enumerator.

  7. Secara opsional, klik Pemetaan Variabel untuk memetakan properti objek ke nilai koleksi, lalu lakukan hal-hal berikut:

    1. Di daftar Variabel, pilih variabel atau klik <Variabel> Baru untuk membuat variabel baru.

    2. Jika Anda menambahkan variabel baru, atur properti variabel dalam kotak dialog Tambahkan Variabel dan klik OK.

    3. Jika Anda menggunakan enumerator Untuk Setiap Item, Anda bisa memperbarui nilai indeks dalam daftar Indeks .

      Catatan

      Nilai indeks menunjukkan kolom mana dalam item yang akan dipetakan ke variabel. Hanya enumerator Untuk Setiap Item yang dapat menggunakan nilai indeks selain 0.

  8. Secara opsional, klik Ekspresi dan, pada halaman Ekspresi , buat ekspresi properti untuk properti kontainer Perulangan Foreach. Untuk informasi selengkapnya, lihat Menambahkan atau Mengubah Ekspresi Properti.

  9. Klik OK.

Halaman Umum - Editor Perulangan Foreach

Gunakan halaman Umum kotak dialog Editor Perulangan Foreach untuk memberi nama dan menjelaskan kontainer Foreach Loop yang menggunakan enumerator tertentu untuk mengulangi alur kerja untuk setiap anggota dalam koleksi.

Untuk mempelajari tentang kontainer Foreach Loop dan cara mengonfigurasinya, lihat Kontainer Perulangan Foreach dan Mengonfigurasi Kontainer Perulangan Foreach.

Opsi

Nama
Berikan nama unik untuk kontainer Foreach Loop. Nama ini digunakan sebagai label dalam ikon tugas dan di log.

Catatan

Nama objek harus unik dalam paket.

Deskripsi
Ketik deskripsi kontainer Foreach Loop.

Halaman Koleksi - Editor Perulangan Foreach

Gunakan halaman Koleksi dari kotak dialog Editor Perulangan Foreach untuk menentukan jenis enumerator dan mengonfigurasi enumerator.

Untuk mempelajari tentang kontainer Foreach Loop dan cara mengonfigurasinya, lihat Kontainer Perulangan Foreach dan Mengonfigurasi Kontainer Perulangan Foreach.

Opsi Statis

Enumerator
Pilih jenis enumerator dari daftar. Properti ini memiliki opsi yang tercantum dalam tabel berikut ini:

Nilai Deskripsi
Foreach File Enumerator Menghitung file. Memilih nilai ini menampilkan opsi dinamis di bagian, Enumerator File Foreach.
Foreach Item Enumerator Menghitung nilai dalam item. Memilih nilai ini menampilkan opsi dinamis di bagian, Enumerator Item Foreach.
Foreach ADO Enumerator Menghitung tabel atau baris dalam tabel. Memilih nilai ini menampilkan opsi dinamis di bagian, Foreach ADO Enumerator.
Enumerator Himpunan Baris Skema foreach ADO.NET Menghitung skema. Memilih nilai ini menampilkan opsi dinamis di bagian, Foreach ADO.NET Enumerator.
Foreach Dari Enumerator Variabel Menghitung nilai dalam variabel. Memilih nilai ini menampilkan opsi dinamis di bagian , Foreach From Variable Enumerator.
Foreach Nodelist Enumerator Menghitung simpul dalam dokumen XML. Memilih nilai ini menampilkan opsi dinamis di bagian , Foreach Nodelist Enumerator.
Foreach SMO Enumerator Menghitung objek SMO. Memilih nilai ini menampilkan opsi dinamis di bagian, Enumerator SMO Foreach.
Foreach HDFS File Enumerator Hitung file HDFS di lokasi HDFS yang ditentukan. Memilih nilai ini menampilkan opsi dinamis di bagian , Foreach HDFS File Enumerator.
Foreach Azure Blob Enumerator Menghitung file blob di lokasi blob yang ditentukan. Memilih nilai ini menampilkan opsi dinamis di bagian, Foreach Azure Blob Enumerator.
Foreach ADLS File Enumerator Menghitung file dalam direktori Data Lake Store yang ditentukan. Memilih nilai ini menampilkan opsi dinamis di bagian, Enumerator File ADLS Foreach.
Enumerator File foreach Data Lake Storage Gen2 Menghitung file dalam direktori Data Lake Storage Gen2 yang ditentukan. Memilih nilai ini menampilkan opsi dinamis di bagian, Foreach Data Lake Storage Gen2 Enumerator File.

Expressions
Klik atau perluas Ekspresi untuk menampilkan daftar ekspresi properti yang sudah ada. Klik tombol elipsis (...) untuk menambahkan ekspresi properti untuk properti enumerator, atau edit dan evaluasi ekspresi properti yang sudah ada.

Topik Terkait:Ekspresi Integration Services (SSIS),Editor Ekspresi Properti, Penyusun Ekspresi

Opsi Dinamis Enumerator

Enumerator = Foreach File Enumerator

Anda menggunakan enumerator File Foreach untuk menghitung file dalam folder. Misalnya, jika Foreach Loop menyertakan tugas Execute SQL, Anda dapat menggunakan enumerator File Foreach untuk menghitung file yang berisi pernyataan SQL yang dijalankan tugas Execute SQL. Enumerator dapat dikonfigurasi untuk menyertakan subfolder.

Konten folder dan subfolder yang dijumlahkan oleh enumerator File Foreach mungkin berubah saat perulangan dijalankan karena proses atau tugas eksternal dalam perulangan menambahkan, mengganti nama, atau menghapus file saat perulangan dijalankan. Perubahan ini dapat menyebabkan sejumlah situasi yang tidak terduga:

  • Jika file dihapus, tindakan satu tugas di Foreach Loop dapat memengaruhi sekumpulan file yang berbeda dari file yang digunakan oleh tugas berikutnya.

  • Jika file diganti namanya dan proses eksternal secara otomatis menambahkan file untuk menggantikan file yang diganti namanya, tindakan tugas di Foreach Loop dapat memengaruhi file yang sama dua kali.

  • Jika file ditambahkan, mungkin sulit untuk menentukan file mana yang terpengaruh oleh Foreach Loop.

Folder
Sediakan jalur folder akar untuk dijumlahkan.

Telusuri
Telusuri untuk menemukan folder akar.

File
Tentukan file yang akan dijumlahkan.

Catatan

Gunakan karakter kartubebas (*) untuk menentukan file yang akan disertakan dalam koleksi. Misalnya, untuk menyertakan file dengan nama yang berisi "abc", gunakan filter berikut: *abc*.

Saat Anda menentukan ekstensi nama file, enumerator juga mengembalikan file yang memiliki ekstensi yang sama dengan karakter tambahan yang ditambahkan. (Ini adalah perilaku yang sama dengan perintah dir dalam sistem operasi, yang juga membandingkan 8.3 nama file untuk kompatibilitas mundur.) Perilaku enumerator ini dapat menyebabkan hasil yang tidak terduga. Misalnya, Anda hanya ingin menghitung file Excel 2003, dan Anda menentukan "*.xls". Namun, enumerator juga mengembalikan file Excel 2007 karena file tersebut memiliki ekstensi, ".xlsx".

Anda bisa menggunakan ekspresi untuk menentukan file yang akan disertakan dalam koleksi, dengan memperluas Ekspresi pada halaman Koleksi , memilih properti FileSpec , lalu mengklik tombol elipsis (...) untuk menambahkan ekspresi properti.

Sepenuhnya memenuhi syarat
Pilih untuk mengambil jalur nama file yang sepenuhnya memenuhi syarat. Jika karakter kartubebas ditentukan dalam opsi File, maka jalur yang sepenuhnya memenuhi syarat yang dikembalikan cocok dengan filter.

Nama saja
Pilih untuk hanya mengambil nama file. Jika karakter kartubebas ditentukan dalam opsi File, maka nama file yang dikembalikan cocok dengan filter.

Nama dan ekstensi
Pilih untuk mengambil nama file dan ekstensi nama filenya. Jika karakter kartubebas ditentukan dalam opsi File, maka nama dan ekstensi file yang dikembalikan cocok dengan filter.

Melintasi Subfolder
Pilih untuk menyertakan subfolder dalam enumerasi.

Enumerator = Foreach Item Enumerator

Anda menggunakan enumerator Item Foreach untuk menghitung item dalam koleksi. Anda menentukan item dalam koleksi dengan menentukan nilai kolom dan kolom. Kolom dalam baris menentukan item. Misalnya, item yang menentukan executable yang dijalankan tugas Execute Process dan direktori kerja yang digunakan tugas memiliki dua kolom, satu yang mencantumkan nama executable dan yang mencantumkan direktori kerja. Jumlah baris menentukan berapa kali perulangan diulang. Jika tabel memiliki 10 baris, perulangan berulang 10 kali.

Untuk memperbarui properti tugas Jalankan Proses, Anda memetakan variabel ke kolom item dengan menggunakan indeks kolom. Kolom pertama yang ditentukan dalam item enumerator memiliki nilai indeks 0, kolom kedua 1, dan sebagainya. Nilai variabel diperbarui dengan setiap pengulangan perulangan. Properti Executable dan WorkingDirectory dari tugas Jalankan Proses kemudian dapat diperbarui oleh ekspresi properti yang menggunakan variabel ini.

Tentukan item dalam koleksi Untuk Setiap Item
Berikan nilai untuk setiap kolom dalam tabel.

Catatan

Baris baru secara otomatis ditambahkan ke tabel setelah Anda memasukkan nilai dalam kolom baris.

Catatan

Jika nilai yang disediakan tidak kompatibel dengan jenis data kolom, teks berwarna merah.

Jenis data kolom
Mencantumkan tipe data kolom aktif.

Hapus
Pilih item, lalu klik Hapus untuk menghapusnya dari daftar.

Kolom
Klik untuk mengonfigurasi tipe data kolom dalam item.

Topik Terkait:Untuk Setiap Kolom Item Referensi UI Kotak Dialog

Enumerator = Foreach ADO Enumerator

Anda menggunakan enumerator Foreach ADO untuk menghitung baris atau tabel dalam objek ADO atau ADO.NET yang disimpan dalam variabel. Misalnya, jika Foreach Loop menyertakan tugas Skrip yang menulis himpunan data ke variabel, Anda dapat menggunakan enumerator Foreach ADO untuk menghitung baris dalam himpunan data. Jika variabel berisi himpunan data ADO.NET, enumerator dapat dikonfigurasi untuk menghitung baris dalam beberapa tabel atau untuk menghitung tabel.

Variabel sumber objek ADO
Pilih variabel yang ditentukan pengguna dalam daftar, atau klik <Variabel baru...> untuk membuat variabel baru.

Catatan

Variabel harus memiliki jenis data Objek, jika tidak, terjadi kesalahan.

Topik Terkait:Variabel Integration Services (SSIS),Tambahkan Variabel

Baris dalam tabel pertama
Pilih untuk menghitung baris saja dalam tabel pertama.

Baris di semua tabel (hanya ADO.NET himpunan data)
Pilih untuk menghitung baris di semua tabel. Opsi ini hanya tersedia jika objek yang akan dijumlahkan adalah semua anggota dari himpunan data ADO.NET yang sama.

Semua tabel (hanya ADO.NET himpunan data)
Pilih untuk menghitung tabel saja.

Enumerator = Foreach ADO.NET Enumerator Rowset Skema

Anda menggunakan enumerator Foreach ADO.NET Schema Rowset untuk menghitung skema untuk sumber data tertentu. Misalnya, jika Foreach Loop menyertakan tugas Execute SQL, Anda dapat menggunakan enumerator Foreach ADO.NET Schema Rowset untuk menghitung skema seperti kolom dalam database AdventureWorks , dan tugas Jalankan SQL untuk mendapatkan izin skema.

Koneksi
Pilih pengelola koneksi ADO.NET dalam daftar, atau klik <Koneksi baru...> untuk membuat pengelola koneksi ADO.NET baru.

Penting

Pengelola koneksi ADO.NET harus menggunakan penyedia .NET untuk OLE DB. Jika menyambungkan ke SQL Server, penyedia yang direkomendasikan untuk digunakan adalah SQL Server Native Client, yang tercantum di bagian Penyedia .Net untuk OleDb dari kotak dialog Pengelola Sambungan.

Topik Terkait:ADO Pengelola Sambungan, Konfigurasikan ADO.NET Pengelola Sambungan

Skema
Pilih skema yang akan dijumlahkan.

Atur Pembatasan
Atur pembatasan untuk diterapkan ke skema yang ditentukan.

Topik Terkait:Kotak Dialog Pembatasan Skema

Enumerator = Foreach Dari Enumerator Variabel

Anda menggunakan enumerator Foreach From Variable untuk menghitung objek yang dapat dijumlahkan dalam variabel yang ditentukan. Misalnya, jika Foreach Loop menyertakan tugas Execute SQL yang menjalankan kueri dan menyimpan hasilnya dalam variabel, Anda dapat menggunakan enumerator Foreach From Variable untuk menghitung hasil kueri.

Variabel
Pilih variabel dalam daftar, atau klik <Variabel baru...> untuk membuat variabel baru.

Topik Terkait:Variabel Integration Services (SSIS),Tambahkan Variabel

Enumerator = Foreach NodeList Enumerator

Anda menggunakan enumerator Foreach Nodelist untuk menghitung kumpulan simpul XML yang dihasilkan dari penerapan ekspresi JalurX ke file XML. Misalnya, jika Foreach Loop menyertakan tugas Skrip, Anda dapat menggunakan enumerator Foreach NodeList untuk meneruskan nilai yang memenuhi kriteria ekspresi JalurX dari file XML ke tugas Skrip.

Ekspresi JalurX yang berlaku untuk file XML adalah operasi JalurX luar, yang disimpan di properti OuterXPathString. Jika jenis enumerasi JalurX diatur ke ElementCollection, enumerator Foreach NodeList dapat menerapkan ekspresi JalurX dalam, yang disimpan di properti InnerXPathString, ke kumpulan elemen.

Untuk mempelajari selengkapnya tentang bekerja dengan dokumen dan data XML, lihat "Menggunakan XML di .NET Framework" di Pustaka MSDN.

DocumentSourceType
Pilih jenis sumber dokumen XML. Properti ini memiliki opsi yang tercantum dalam tabel berikut ini:

Nilai Deskripsi
Input langsung Atur sumber ke dokumen XML.
Koneksi file Pilih file yang berisi dokumen XML.
Variabel Atur sumber ke variabel yang berisi dokumen XML.

SumberDokumen
Jika DocumentSourceType diatur ke Input langsung, berikan kode XML, atau klik tombol elipsis (...) untuk menyediakan XML dengan menggunakan kotak dialog Edito Sumber Dokumenr.

Jika DocumentSourceType diatur ke Koneksi file, pilih Pengelola koneksi file, atau klik <Koneksi baru...> untuk membuat pengelola koneksi baru.

Topik Terkait:Pengelola Sambungan File, Editor Pengelola Sambungan File

Jika DocumentSourceType diatur ke Variabel, pilih variabel yang ada, atau klik <Variabel baru...> untuk membuat variabel baru.

Topik Terkait:Variabel Integration Services (SSIS),Tambahkan Variabel.

EnumerationType
Pilih jenis enumerasi dari daftar. Properti ini memiliki opsi yang tercantum dalam tabel berikut ini:

Nilai Deskripsi
Navigator Hitung menggunakan XPathNavigator.
Simpul Menghitung simpul yang dikembalikan oleh operasi JalurX.
NodeText Menghitung simpul teks yang dikembalikan oleh operasi JalurX.
ElementCollection Menghitung simpul elemen yang dikembalikan oleh operasi JalurX.

OuterXPathStringSourceType
Pilih jenis sumber string JalurX. Properti ini memiliki opsi yang tercantum dalam tabel berikut ini:

Nilai Deskripsi
Input langsung Atur sumber ke dokumen XML.
Koneksi file Pilih file yang berisi dokumen XML.
Variabel Atur sumber ke variabel yang berisi dokumen XML.

OuterXPathString
Jika OuterXPathStringSourceType diatur ke Input langsung, berikan string JalurX.

Jika OuterXPathStringSourceType diatur ke Koneksi file, pilih pengelola koneksi File, atau klik <Koneksi baru...> untuk membuat pengelola koneksi baru.

Topik Terkait:Pengelola Sambungan File, Editor Pengelola Sambungan File

Jika OuterXPathStringSourceType diatur ke Variabel, pilih variabel yang ada, atau klik <Variabel baru...> untuk membuat variabel baru.

Topik Terkait:Variabel Integration Services (SSIS),Tambahkan Variabel.

InnerElementType
Jika EnumerationType diatur ke ElementCollection, pilih jenis elemen dalam dalam daftar.

InnerXPathStringSourceType
Pilih jenis sumber string JalurX dalam. Properti ini memiliki opsi yang tercantum dalam tabel berikut ini:

Nilai Deskripsi
Input langsung Atur sumber ke dokumen XML.
Koneksi file Pilih file yang berisi dokumen XML.
Variabel Atur sumber ke variabel yang berisi dokumen XML.

InnerXPathString
Jika InnerXPathStringSourceType diatur ke Input langsung, berikan string JalurX.

Jika InnerXPathStringSourceType diatur ke Koneksi file, pilih pengelola koneksi File, atau klik <Koneksi baru...> untuk membuat pengelola koneksi baru.

Topik Terkait:Pengelola Sambungan File, Editor Pengelola Sambungan File

Jika InnerXPathStringSourceType diatur ke Variabel, pilih variabel yang ada, atau klik <Variabel baru...> untuk membuat variabel baru.

Topik Terkait:Variabel Integration Services (SSIS),Tambahkan Variabel.

Enumerator = Foreach SMO Enumerator

Anda menggunakan enumerator Foreach SMO untuk menghitung objek SQL Server Management Object (SMO). Misalnya, jika Foreach Loop menyertakan tugas Execute SQL, Anda dapat menggunakan enumerator Foreach SMO untuk menghitung tabel dalam database AdventureWorks dan menjalankan kueri yang menghitung jumlah baris di setiap tabel.

Koneksi
Pilih pengelola koneksi ADO.NET yang sudah ada, atau klik <Koneksi baru...> untuk membuat pengelola koneksi baru.

Topik Terkait: ADO.NET Pengelola Sambungan, Konfigurasikan ADO.NET Pengelola Sambungan

Menghitung
Tentukan objek SMO yang akan dijumlahkan.

Telusuri
Pilih enumerasi SMO.

Topik Terkait:Pilih Kotak Dialog Enumerasi SMO

Enumerator = Foreach HDFS File Enumerator

Foreach HDFS File Enumerator memungkinkan paket SSIS untuk menghitung file HDFS di lokasi HDFS yang ditentukan. Nama setiap file HDFS dapat disimpan dalam variabel dan digunakan dalam tugas di dalam Foreach Loop Container.

Pengelola Koneksi Hadoop
Tentukan Hadoop yang ada Pengelola Sambungan atau buat yang baru, yang menunjuk ke tempat file HDFS dihosting. Untuk informasi selengkapnya, lihat Pengelola Sambungan Hadoop.

Jalur Direktori
Tentukan nama direktori HDFS yang berisi file HDFS yang akan dijumlahkan.

Filter nama file
Tentukan filter nama untuk memilih file dengan pola nama tertentu. Misalnya, MySheet*.xls* menyertakan file seperti MySheet001.xls dan MySheetABC.xlsx.

Mengambil nama file
Tentukan jenis nama file yang diambil oleh SSIS.

  • Nama yang sepenuhnya memenuhi syarat berarti nama lengkap, yang berisi jalur direktori dan nama file.

  • Nama hanya berarti nama file diambil tanpa jalur.

Melintasi subfolder
Tentukan apakah akan mengulang subfolder secara rekursif.

Pada halaman Pemetaan Variabel editor, pilih atau buat variabel untuk menyimpan nama file HDFS yang dijumlahkan.

Enumerator = Foreach Azure Blob Enumerator

Azure Blob Enumerator memungkinkan paket SSIS untuk menghitung file blob di lokasi blob yang ditentukan. Anda dapat menyimpan nama file blob yang dijumlahkan dalam variabel dan menggunakannya dalam tugas di dalam Foreach Loop Container.

Azure Blob Enumerator adalah komponen dari Paket Fitur SQL Server Integration Services (SSIS) untuk Azure untuk SQL Server 2016 (13.x). Unduh Paket Fitur di sini.

Pengelola koneksi penyimpanan Azure
Pilih Pengelola Sambungan Azure Storage yang sudah ada atau buat yang baru yang merujuk ke Akun Azure Storage.

Topik Terkait: Azure Storage Pengelola Sambungan.

Nama kontainer blob
Tentukan nama kontainer blob yang berisi file blob yang akan dijumlahkan.

Direktori blob
Tentukan direktori blob yang berisi file blob yang akan dijumlahkan. Direktori blob adalah struktur hierarkis virtual.

Cari secara rekursif
Tentukan apakah akan mencari secara rekursif dalam sub-direktori.

Filter nama blob
Tentukan filter nama untuk menghitung file dengan pola nama tertentu. Misalnya, MySheet*.xls\* menyertakan file seperti MySheet001.xls dan MySheetABC.xlsx.

Rentang waktu blob dari/ke filter
Tentukan filter rentang waktu. File yang dimodifikasi setelah TimeRangeFrom dan sebelum TimeRangeTo dijumlahkan.

Enumerator = Foreach ADLS File Enumerator

Enumerator File ADLS memungkinkan paket SSIS untuk menghitung file di Azure Data Lake Store. Anda dapat menyimpan jalur lengkap file enumerasi (diawali dengan garis miring - /) dalam variabel dan menggunakan jalur file dalam tugas di dalam Foreach Loop Container.

AzureDataLakeConnection
Menentukan pengelola koneksi Azure Data Lake, atau membuat yang baru yang merujuk ke akun ADLS.

AzureDataLakeDirectory
Menentukan direktori ADLS yang berisi file yang akan dijumlahkan.

FileNamePattern
Menentukan filter nama file. Hanya file yang namanya cocok dengan pola yang ditentukan yang dijumlahkan. Kartubebas * dan ? didukung.

SearchRecursively
Menentukan apakah akan mencari secara rekursif dalam direktori yang ditentukan.

Enumerator = Enumerator File foreach Data Lake Storage Gen2

Foreach Data Lake Storage Gen2 File Enumerator memungkinkan paket SSIS menghitung file dalam Azure Data Lake Storage Gen2.

AzureStorageConnection
Menentukan Pengelola Sambungan Azure Storage yang sudah ada atau membuat yang baru yang mereferensikan layanan Data Lake Storage Gen2.

FolderPath
Menentukan jalur folder untuk menghitung file.

SearchRecursively
Menentukan apakah akan mencari secara rekursif dalam folder yang ditentukan.

Catatan tentang Konfigurasi Izin Perwakilan Layanan

izin Data Lake Storage Gen2 ditentukan oleh RBAC dan ACL. Perhatikan bahwa ACL dikonfigurasi menggunakan ID Objek (OID) perwakilan layanan untuk pendaftaran aplikasi sebagaimana dijelaskan di sini. Ini berbeda dari ID Aplikasi (klien) yang digunakan dengan konfigurasi RBAC. Ketika prinsip keamanan diberikan izin data RBAC melalui peran bawaan, atau melalui peran kustom, izin ini dievaluasi terlebih dahulu setelah otorisasi permintaan. Jika operasi yang diminta diotorisasi oleh penugasan RBAC perwakilan keamanan, maka otorisasi segera diselesaikan dan tidak ada pemeriksaan ACL tambahan yang dilakukan. Atau, jika perwakilan keamanan tidak memiliki penugasan RBAC, atau operasi permintaan tidak cocok dengan izin yang ditetapkan, maka pemeriksaan ACL dilakukan untuk menentukan apakah prinsip keamanan berwenang untuk melakukan operasi yang diminta. Agar enumerator berfungsi, berikan setidaknya izin Jalankan mulai dari sistem file akar, bersama dengan izin Baca untuk folder target. Atau, berikan setidaknya peran Pembaca Data Blob Penyimpanan dengan RBAC. Lihat artikel ini untuk detailnya.

Halaman Pemetaan Variabel - Editor Perulangan Foreach

Gunakan halaman Pemetaan Variabel dari kotak dialog Editor Perulangan Foreach untuk memetakan variabel ke nilai koleksi. Nilai variabel diperbarui dengan nilai koleksi pada setiap iterasi perulangan.

Untuk mempelajari tentang cara menggunakan kontainer Foreach Loop dalam paket Layanan Integrasi, lihat Kontainer Perulangan Foreach. Untuk mempelajari tentang cara mengonfigurasinya, lihat Mengonfigurasi Kontainer Perulangan Foreach.

Tutorial Microsoft SQL Server Integration Services, Membuat Tutorial Paket ETL Sederhana, mencakup pelajaran yang mengajarkan Anda untuk menambahkan dan mengonfigurasi Foreach Loop.

Opsi

Variabel
Pilih variabel yang ada, atau klik Variabel baru... untuk membuat variabel baru.

Catatan

Setelah Anda memetakan variabel, baris baru secara otomatis ditambahkan ke daftar Variabel .

Topik Terkait: Variabel Integration Services (SSIS),Tambahkan Variabel

Indeks
Jika menggunakan enumerator Item Foreach, tentukan indeks kolom dalam nilai koleksi untuk dipetakan ke variabel. Untuk jenis enumerator lainnya, indeks bersifat baca-saja.

Catatan

Indeks berbasis 0.

Hapus
Pilih variabel, lalu klik Hapus.

Kotak dialog Pembatasan Skema (ADO.NET)

Gunakan kotak dialog Pembatasan Skema untuk mengatur pembatasan skema yang akan diterapkan ke enumerator Foreach ADO.NET Schema Rowset.

Opsi

Pembatasan
Pilih batasan yang akan diterapkan ke skema.

Variabel
Gunakan variabel untuk menentukan pembatasan. Pilih variabel dalam daftar, atau klik Variabel baru... untuk membuat variabel baru.

Topik Terkait:Variabel Integration Services (SSIS),Tambahkan Variabel

Teks
Berikan teks untuk menentukan batasan.

Untuk kotak dialog Setiap Kolom Item

Gunakan kotak dialog Untuk Setiap Kolom Item untuk menentukan kolom dalam item yang dijumlahkan oleh enumerator Item Foreach.

Opsi

Kolom
Mencantumkan kolom.

Jenis Data
Pilih jenis data.

Tambahkan
Tambahkan kolom baru.

Hapus
Pilih kolom, lalu klik Hapus.

Pilih kotak dialog Enumerasi SMO

Gunakan kotak dialog Pilih Enumerasi SMO untuk menentukan objek SQL Server Management Objects (SMO) pada instans SQL Server yang ditentukan untuk dijumlahkan, dan untuk memilih jenis enumerasi.

Opsi

Menghitung
Perluas server dan pilih objek SMO.

Objek
Gunakan jenis enumerasi Objek.

Pra-populasi
Gunakan opsi Pra-populasi dengan jenis enumerasi Objek.

Nama
Gunakan jenis enumerasi Nama.

Guci
Gunakan jenis enumerasi URL.

Lokasi
Gunakan jenis enumerasi Lokasi. Opsi ini hanya tersedia untuk file.

Menggunakan ekspresi properti dengan kontainer Foreach Loop

Paket dapat dikonfigurasi untuk menjalankan beberapa executable secara bersamaan. Konfigurasi ini harus digunakan dengan hati-hati ketika paket menyertakan kontainer Foreach Loop yang mengimplementasikan ekspresi properti.

Seringkali berguna untuk mengimplementasikan ekspresi properti untuk mengatur nilai properti ConnectionString dari manajer koneksi yang digunakan enumerator Foreach Loop. Ekspresi properti ConnectionString diatur oleh variabel yang memetakan ke nilai koleksi enumerator dan diperbarui pada setiap iterasi perulangan.

Untuk menghindari konsekuensi negatif dari waktu nondeterminatif eksekusi tugas paralel dalam perulangan, paket harus dikonfigurasi untuk menjalankan hanya satu yang dapat dieksekusi pada satu waktu. Misalnya, jika paket dapat menjalankan beberapa tugas secara bersamaan, kontainer Foreach Loop yang menghitung file dalam folder, mengambil nama file, lalu menggunakan tugas Execute SQL untuk menyisipkan nama file ke dalam tabel dapat menimbulkan konflik tulis ketika dua instans tugas Execute SQL mencoba menulis pada saat yang sama. Untuk informasi selengkapnya, lihat Menggunakan Ekspresi Properti dalam Paket.

Lihat juga

Alur Kontrol
Kontainer SSIS