Bagikan melalui


Mengonfigurasi Komponen Skrip di Penyunting Komponen Skrip

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

Sebelum menulis kode kustom di komponen Skrip, Anda harus memilih jenis komponen aliran data yang ingin Anda buat sumber, transformasi, atau tujuan-lalu konfigurasikan metadata dan properti komponen di Editor Transformasi Skrip.

Memilih Jenis Komponen yang Akan Dibuat

Saat Anda menambahkan komponen Skrip ke panel Aliran Data SSIS Designer, kotak dialog Pilih Jenis Komponen Skrip muncul. Anda telah mengonfigurasi komponen sebagai sumber, transformasi, atau tujuan. Setelah membuat pilihan awal ini, Anda dapat terus mengonfigurasi komponen di Editor Transformasi Skrip.

Untuk mengatur bahasa skrip default untuk komponen Skrip, gunakan opsi Bahasa pembuatan skrip pada halaman Umum kotak dialog Opsi . Untuk informasi selengkapnya, lihat Halaman Umum.

Memahami Dua Mode Design-Time

Dalam SSIS Designer, komponen Skrip memiliki dua mode: mode desain metadata dan mode desain kode.

Saat Anda membuka Editor Transformasi Skrip, komponen memasuki mode desain metadata. Dalam mode ini, Anda dapat memilih kolom input, dan menambahkan atau mengonfigurasi output dan kolom output, tetapi Anda tidak dapat menulis kode. Setelah mengonfigurasi metadata komponen, Anda dapat beralih ke mode desain kode untuk menulis skrip.

Saat Anda beralih ke mode desain kode dengan mengklik Edit Skrip, komponen Skrip mengunci metadata untuk mencegah perubahan tambahan, lalu secara otomatis menghasilkan kode dasar dari metadata input dan output. Setelah kode yang dibuat secara otomatis selesai, Anda akan dapat memasukkan kode kustom Anda. Kode Anda menggunakan kelas dasar yang dihasilkan secara otomatis untuk memproses baris input, untuk mengakses buffer dan kolom di buffer, dan untuk mengambil manajer koneksi dan variabel dari paket, semuanya sebagai objek yang sangat diketik.

Setelah memasukkan kode kustom Anda dalam mode desain kode, Anda dapat beralih kembali ke mode desain metadata. Ini tidak menghapus kode apa pun yang telah Anda masukkan; namun, perubahan berikutnya pada metadata menyebabkan kelas dasar diregenerasi. Setelah itu, komponen Anda mungkin gagal validasi karena objek yang dirujuk oleh kode kustom Anda mungkin tidak ada lagi atau mungkin telah dimodifikasi. Dalam hal ini, Anda harus memperbaiki kode Anda secara manual sehingga dapat dikompilasi dengan sukses terhadap kelas dasar yang diregenerasi.

Mengonfigurasi Komponen dalam Mode Desain Metadata

Dalam mode desain metadata, Anda dapat memilih kolom input, dan menambahkan dan mengonfigurasi output dan kolom output, tetapi Anda tidak dapat menulis kode. Setelah Anda mengonfigurasi metadata komponen, beralihlah ke mode desain kode untuk menulis skrip.

Properti yang harus Anda konfigurasi di editor kustom bergantung pada penggunaan komponen Skrip. Komponen Skrip dapat dikonfigurasi sebagai sumber, transformasi, atau tujuan. Tergantung pada bagaimana komponen digunakan, komponen mendukung input atau output atau keduanya. Kode kustom yang akan Anda tulis memproses baris dan kolom input dan output.

Halaman Kolom Input dari Editor Transformasi Skrip

Halaman Kolom Input dari Editor Transformasi Skrip ditampilkan untuk transformasi dan tujuan, tetapi tidak untuk sumber. Pada halaman ini, Anda memilih kolom input yang tersedia yang ingin Anda sediakan untuk skrip kustom Anda, dan menentukan akses baca-saja atau baca/tulis ke kolom tersebut.

Dalam proyek kode yang akan dihasilkan berdasarkan metadata ini, item proyek BufferWrapper berisi kelas untuk setiap input, dan kelas ini berisi properti aksesor yang diketik untuk setiap kolom input yang dipilih. Misalnya, jika Anda memilih kolom CustomerID bilangan bulat dan kolom customerName string dari input bernama CustomerInput, item proyek BufferWrapper akan berisi kelas CustomerInput yang berasal dari ScriptBuffer, dan kelas CustomerInput akan mengekspos properti bilangan bulat bernama CustomerID dan properti string bernama CustomerName. Konvensi ini memungkinkan untuk menulis kode dengan pemeriksaan jenis seperti berikut:

Dim currentCustomerID as Integer = CustomerInput.CustomerID  
Dim currentCustomerName as String = CustomerInput.CustomerName  

Untuk informasi selengkapnya tentang cara mengonfigurasi kolom input untuk jenis komponen aliran data tertentu, lihat contoh yang sesuai di bawah Mengembangkan Jenis Komponen Skrip Tertentu.

Halaman Input dan Output dari Editor Transformasi Skrip

Halaman Input dan Output dari Editor Transformasi Skrip ditampilkan untuk sumber, transformasi, dan tujuan. Pada halaman ini, Anda menambahkan, menghapus, dan mengonfigurasi kolom input, output, dan output yang ingin Anda gunakan dalam skrip kustom Anda, dalam batasan berikut:

  • Ketika digunakan sebagai sumber, komponen Skrip tidak memiliki input dan mendukung beberapa output.

  • Saat digunakan sebagai transformasi, komponen Skrip mendukung satu input dan beberapa output.

  • Saat digunakan sebagai tujuan, komponen Skrip mendukung satu input dan tidak memiliki output.

Dalam proyek kode yang akan dihasilkan berdasarkan metadata ini, item proyek BufferWrapper berisi kelas untuk setiap input dan output. Misalnya, jika Anda membuat output bernama CustomerOutput, item proyek BufferWrapper akan berisi kelas CustomerOutput yang berasal dari ScriptBuffer, dan kelas CustomerOutput akan berisi properti aksesor yang diketik untuk setiap kolom output yang dibuat.

Anda hanya dapat mengonfigurasi kolom output di halaman Input dan Output . Anda dapat memilih kolom input untuk transformasi dan tujuan di halaman Kolom Input . Properti aksesor yang diketik yang dibuat untuk Anda dalam item proyek BufferWrapper akan ditulis-saja untuk kolom output. Properti aksesor untuk kolom input akan bersifat baca-saja atau baca/tulis tergantung pada jenis penggunaan yang telah Anda pilih untuk setiap kolom pada halaman Kolom Input .

Untuk informasi selengkapnya tentang mengonfigurasi input dan output untuk jenis komponen aliran data tertentu, lihat contoh yang sesuai di bawah Mengembangkan Jenis Komponen Skrip Tertentu.

Catatan

Meskipun Anda tidak dapat langsung mengonfigurasi output sebagai output kesalahan dalam komponen Skrip untuk penanganan otomatis baris kesalahan, Anda dapat mereproduksi fungsionalitas output kesalahan dengan membuat output tambahan dan menggunakan skrip untuk mengarahkan baris ke output ini jika sesuai. Untuk informasi selengkapnya, lihat Mensimulasikan Output Kesalahan untuk Komponen Skrip.

Properti ExclusionGroup dan SynchronousInputID outputs

Properti ExclusionGroup hanya memiliki nilai bukan nol dalam transformasi dengan output sinkron, di mana kode Anda melakukan pemfilteran atau percabangan dan mengarahkan setiap baris ke salah satu output yang memiliki nilai ExclusionGroup non-nol yang sama. Misalnya, transformasi dapat mengarahkan baris baik ke output default atau ke output kesalahan. Saat Anda membuat output tambahan untuk skenario ini, pastikan untuk mengatur nilai properti SynchronousInputID ke bilangan bulat yang cocok dengan ID input komponen.

Properti SynchronousInputID hanya memiliki nilai bukan nol dalam transformasi dengan output sinkron. Jika nilai properti ini adalah nol, itu berarti bahwa outputnya asinkron. Untuk output sinkron, di mana baris diteruskan ke output atau output yang dipilih tanpa menambahkan baris baru, properti ini harus berisi ID input komponen.

Catatan

Ketika Editor Transformasi Skrip membuat output pertama, editor mengatur properti SynchronousInputID dari output ke ID input komponen. Namun, ketika editor membuat output berikutnya, editor mengatur properti SynchronousInputID dari output tersebut menjadi nol.

Jika Anda membuat komponen dengan output sinkron, setiap output harus memiliki properti SynchronousInputID yang diatur ke ID input komponen. Oleh karena itu, setiap output yang dibuat editor setelah output pertama harus memiliki nilai SynchronousInputID-nya berubah dari nol ke ID input komponen.

Jika Anda membuat komponen dengan output asinkron, setiap output harus memiliki properti SynchronousInputID yang diatur ke nol. Oleh karena itu, output pertama harus mengubah nilai SynchronousInputID dari ID input komponen menjadi nol.

Untuk contoh mengarahkan baris ke salah satu dari dua output sinkron dalam komponen Skrip, lihat Membuat Transformasi Sinkron dengan Komponen Skrip.

Nama Objek dalam Skrip yang Dihasilkan

Komponen Skrip mengurai nama input dan output, dan mengurai nama kolom dalam input dan output, dan berdasarkan nama-nama ini menghasilkan kelas dan properti dalam item proyek BufferWrapper. Jika nama yang ditemukan menyertakan karakter yang bukan milik kategori Unicode UppercaseLetter, LowercaseLetter, TitlecaseLetter, ModifierLetter, OtherLetter, atau DecimalDigitLetter, karakter yang tidak valid akan dihilangkan dalam nama yang dihasilkan. Misalnya, spasi dihilangkan, oleh karena itu dua kolom input yang memiliki nama FirstName dan [Nama Depan] keduanya ditafsirkan memiliki nama kolom FirstName, dengan hasil yang tidak dapat diprediksi. Untuk menghindari situasi ini, nama input dan output serta kolom input dan output yang digunakan oleh komponen Skrip hanya boleh berisi karakter dalam kategori Unicode yang tercantum di bagian ini.

Halaman Skrip Editor Transformasi Skrip

Pada halaman SkripEditor Tugas Skrip, Anda menetapkan nama unik dan deskripsi untuk tugas Skrip. Anda juga bisa menetapkan nilai untuk properti berikut ini.

Catatan

Dalam SQL Server 2008 Integration Services (SSIS) dan versi yang lebih baru, semua skrip telah dikommpilasikan sebelumnya. Di versi sebelumnya, Anda menentukan apakah skrip telah dikompilasi sebelumnya dengan mengatur properti Prakompilasi untuk tugas tersebut.

Properti ValidateExternalMetadata

Nilai Boolean dari properti ValidateExternalMetadata menentukan apakah komponen harus melakukan validasi terhadap sumber data eksternal pada waktu desain, atau apakah harus menunda validasi hingga durasi. Secara default, nilai properti ini adalah True; artinya, metadata eksternal divalidasi baik pada waktu desain maupun pada durasi. Anda mungkin ingin mengatur nilai properti ini ke False ketika sumber data eksternal tidak tersedia pada waktu desain: misalnya, ketika paket mengunduh sumber atau membuat tujuan hanya pada durasi.

Properti ReadOnlyVariables dan ReadWriteVariables

Anda dapat memasukkan daftar variabel yang dibatasi koma sebagai nilai properti ini untuk membuat variabel tersedia untuk akses baca-saja atau baca/tulis dalam kode komponen Skrip. Variabel diakses dalam kode melalui ReadOnlyVariables properti dan ReadWriteVariables dari kelas dasar yang dibuat secara otomatis. Untuk informasi selengkapnya, lihat Menggunakan Variabel di Komponen Skrip.

Catatan

Nama variabel peka huruf besar/kecil.

Bahasa Skrip

Anda dapat memilih Microsoft Visual Basic atau Microsoft Visual C# sebagai bahasa pemrograman untuk komponen Skrip.

Tombol Edit Skrip

Tombol Edit Skrip membuka IDE Microsoft® Visual Studio® Tools for Applications (VSTA) tempat Anda menulis skrip kustom Anda. Untuk informasi selengkapnya, lihat Pengkodian dan Debugging Komponen Skrip.

Halaman Pengelola Koneksi dari Editor Transformasi Skrip

Pada halaman Pengelola Koneksidari Editor Transformasi Skrip, Anda menambahkan dan menghapus manajer koneksi yang ingin Anda gunakan dalam skrip kustom Anda. Biasanya Anda perlu mereferensikan manajer koneksi saat membuat komponen sumber atau tujuan.

Dalam proyek kode yang akan dihasilkan berdasarkan metadata ini, item proyek ComponentWrapper berisi kelas koleksi Koneksi yang memiliki properti aksesor yang diketik untuk setiap manajer koneksi yang dipilih. Setiap properti aksesor yang ditik memiliki nama yang sama dengan manajer koneksi itu sendiri dan mengembalikan referensi ke manajer koneksi sebagai instans .IDTSConnectionManager100 Misalnya, jika Anda telah menambahkan manajer koneksi bernama MyADONETConnection di halaman Pengelola Koneksi editor, Anda bisa mendapatkan referensi ke pengelola koneksi di skrip Anda dengan menggunakan kode berikut:

Dim myADONETConnectionManager As IDTSConnectionManager100 = _  
    Me.Connections.MyADONETConnection  

Untuk informasi selengkapnya, lihat Menyambungkan ke Sumber Data di Komponen Skrip.

Lihat juga

Pengodean dan Penelusuran Kesalahan Komponen Skrip