Bagikan melalui


Mengembangkan Objek Kustom untuk SSIS

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

Ketika aliran kontrol dan objek aliran data yang disertakan dengan SQL Server Integration Services tidak sepenuhnya memenuhi kebutuhan Anda, Anda dapat mengembangkan banyak jenis objek kustom sendiri termasuk:

  • Tugas kustom.

  • Manajer koneksi kustom. Sambungkan ke sumber data eksternal yang saat ini tidak didukung.

  • Penyedia log kustom. Peristiwa paket log dalam format yang saat ini tidak didukung.

  • Enumerator kustom. Mendukung iterasi atas sekumpulan objek atau format nilai yang saat ini tidak didukung.

  • Komponen aliran data kustom. Dapat dikonfigurasi sebagai sumber, transformasi, atau tujuan.

Model objek Integration Services memfasilitasi pengembangan kustom ini dengan kelas dasar yang menyediakan kerangka kerja yang konsisten dan andal untuk implementasi kustom Anda.

Jika Anda tidak perlu menggunakan kembali fungsionalitas kustom di beberapa paket, tugas Skrip dan komponen Skrip memberi Anda kekuatan penuh dari bahasa pemrograman terkelola dengan kode infrastruktur yang jauh lebih sedikit untuk ditulis. Untuk informasi selengkapnya, lihat Membandingkan Solusi Pembuatan Skrip dan Objek Kustom.

Langkah-langkah dalam Mengembangkan Objek Kustom untuk Layanan Integrasi

Saat Anda mengembangkan objek kustom untuk digunakan di Integration Services, Anda mengembangkan Pustaka Kelas (DLL) yang akan dimuat pada waktu desain dan run time oleh SSIS Designer dan oleh runtime Layanan Integrasi. Metode terpenting yang harus Anda terapkan bukanlah metode yang Anda panggil dari kode Anda sendiri, tetapi metode yang dipanggil runtime pada waktu yang tepat untuk menginisialisasi dan memvalidasi komponen Anda dan untuk memanggil fungsionalitasnya.

Berikut adalah langkah-langkah yang Anda ikuti dalam mengembangkan objek kustom:

  1. Buat proyek baru jenis Pustaka Kelas dalam bahasa pemrograman terkelola pilihan Anda.

  2. Warisi dari kelas dasar yang sesuai, seperti yang ditunjukkan dalam tabel berikut.

  3. Terapkan atribut yang sesuai ke kelas baru Anda, seperti yang ditunjukkan dalam tabel berikut.

  4. Ambil alih metode kelas dasar sebagaimana diperlukan dan tulis kode untuk fungsionalitas kustom objek Anda.

  5. Secara opsional, buat antarmuka pengguna kustom untuk komponen Anda. Untuk kemudahan penyebaran, Anda mungkin ingin mengembangkan antarmuka pengguna sebagai proyek terpisah dalam solusi yang sama, dan untuk membangunnya sebagai rakitan terpisah.

  6. Secara opsional, tampilkan tautan ke sampel dan konten Bantuan untuk objek kustom, di Kotak Alat SSIS.

  7. Bangun, sebarkan, dan debug objek kustom baru Anda seperti yang dijelaskan dalam Membangun, Menyebarkan, dan Men-debug Objek Kustom.

Kelas Dasar, Atribut, dan Metode Penting

Tabel ini menyediakan referensi mudah ke elemen terpenting dalam model objek Layanan Integrasi untuk setiap jenis objek kustom yang dapat Anda kembangkan.

Objek kustom Kelas dasar Atribut Metode penting
Tugas Task DtsTaskAttribute Execute
Manajer sambungan ConnectionManagerBase DtsConnectionAttribute AcquireConnection, ReleaseConnection
Penyedia log LogProviderBase DtsLogProviderAttribute OpenLog, , LogCloseLog
Enumerator ForEachEnumerator DtsForEachEnumeratorAttribute GetEnumerator
Komponen aliran data PipelineComponent DtsPipelineComponentAttribute ProvideComponentProperties, , PrimeOutputProcessInput

Untuk menampilkan tautan di Kotak Alat SSIS ke sampel dan konten Bantuan untuk objek kustom yang ditulis dalam kode terkelola, gunakan properti berikut.

Untuk menampilkan tautan ke sampel dan konten Bantuan untuk objek kustom yang ditulis dalam kode asli, tambahkan entri dalam file Skrip Registri (.rgs) untuk SamplesTag, HelpKeyword, dan HelpCollection. Berikut adalah contohnya.

val HelpKeyword = s 'sql11.dts.designer.executepackagetask.F1'

val SamplesTag = s 'ExecutePackageTask'

Menyediakan Antarmuka Pengguna Kustom

Untuk mengizinkan pengguna objek kustom Anda mengonfigurasi propertinya, Anda mungkin juga harus mengembangkan antarmuka pengguna kustom. Dalam kasus di mana antarmuka pengguna kustom tidak benar-benar diperlukan, Anda dapat memilih untuk membuatnya untuk menyediakan antarmuka yang lebih ramah pengguna daripada editor default.

Dalam proyek atau rakitan antarmuka pengguna kustom, Anda umumnya memiliki dua kelas -kelas yang mengimplementasikan antarmuka Layanan Integrasi untuk antarmuka pengguna untuk jenis objek kustom tertentu, dan formulir Windows yang ditampilkannya untuk mengumpulkan informasi dari pengguna. Antarmuka yang Anda terapkan hanya memiliki beberapa metode, dan antarmuka pengguna kustom tidak sulit untuk dikembangkan.

Catatan

Banyak penyedia log Integration Services memiliki antarmuka pengguna kustom yang mengimplementasikan IDtsLogProviderUI dan mengganti kotak teks Konfigurasi dengan daftar drop-down yang difilter dari manajer koneksi yang tersedia. Namun antarmuka pengguna kustom untuk penyedia log kustom tidak diimplementasikan dalam rilis Layanan Integrasi ini. Menentukan nilai untuk UITypeName properti tidak DtsLogProviderAttribute berpengaruh.

Tabel berikut ini menyediakan referensi mudah ke antarmuka yang harus Anda terapkan saat Mengembangkan antarmuka pengguna kustom untuk setiap jenis objek kustom. Ini juga menjelaskan apa yang dilihat pengguna jika Anda memilih untuk tidak mengembangkan antarmuka pengguna kustom untuk objek Anda, atau jika Anda gagal menautkan objek Anda ke antarmuka penggunanya dengan menggunakan properti UITypeName di atribut objek. Meskipun Editor Lanjutan yang kuat mungkin memuaskan untuk komponen aliran data, jendela Properti adalah solusi yang kurang ramah pengguna untuk tugas dan manajer koneksi, dan enumerator ForEach kustom tidak dapat dikonfigurasi sama sekali tanpa formulir kustom.

Objek kustom Kelas dasar untuk antarmuka pengguna Perilaku pengeditan default jika tidak ada antarmuka pengguna kustom yang disediakan
Tugas IDtsTaskUI Hanya jendela properti
Manajer sambungan IDtsConnectionManagerUI Hanya jendela properti
Penyedia log IDtsLogProviderUI

(Tidak diimplementasikan dalam Layanan Integrasi)
Kotak teks di kolom Konfigurasi
Enumerator ForEachEnumeratorUI Hanya jendela properti. Area Konfigurasi Enumerator editor kosong.
Komponen aliran data IDtsComponentUI Editor Tingkat Lanjut

Sumber Daya Eksternal

Lihat Juga

Mempertahankan Objek Kustom
Membangun, Menyebarkan, dan Men-debug Objek Kustom