Pengidentifikasi (SSIS)

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

Dalam ekspresi, pengidentifikasi adalah kolom dan variabel yang tersedia untuk operasi. Ekspresi dapat menggunakan pengidentifikasi reguler dan memenuhi syarat.

Pengidentifikasi Reguler

Pengidentifikasi reguler adalah pengidentifikasi yang tidak memerlukan kualifikasi tambahan. Misalnya, MiddleName, kolom dalam tabel Kontak database AdventureWorks, adalah pengidentifikasi reguler.

Penamaan pengidentifikasi reguler harus mengikuti aturan ini:

  • Karakter pertama nama harus berupa huruf seperti yang didefinisikan oleh Standar Unicode 2.0, atau garis bawah (_).

  • Karakter berikutnya dapat berupa huruf atau angka seperti yang didefinisikan dalam Karakter Standar Unicode 2.0, garis bawah (_), @, $, dan # .

Penting

Spasi yang disematkan dan karakter khusus, selain yang tercantum, tidak valid dalam pengidentifikasi reguler. Untuk menggunakan spasi dan karakter khusus, Anda harus menggunakan pengidentifikasi yang memenuhi syarat alih-alih pengidentifikasi reguler.

Pengidentifikasi Yang Memenuhi Syarat

Pengidentifikasi yang memenuhi syarat adalah pengidentifikasi yang dibatasi oleh tanda kurung. Pengidentifikasi mungkin memerlukan pemisah karena nama pengidentifikasi menyertakan spasi, atau karena nama pengidentifikasi tidak dimulai dengan huruf atau karakter garis bawah. Misalnya, nama kolom Nama Tengah harus memenuhi syarat oleh tanda kurung siku dan ditulis sebagai [Nama Tengah] dalam ekspresi.

Jika nama pengidentifikasi menyertakan spasi, atau jika nama tersebut bukan nama pengidentifikasi reguler yang valid, pengidentifikasi harus memenuhi syarat. Evaluator ekspresi menggunakan tanda kurung buka dan tutup ([]) untuk memenuhi syarat pengidentifikasi. Tanda kurung diletakkan di posisi pertama dan terakhir dari string. Misalnya, pengidentifikasi 5$> menjadi [5$>]. Tanda kurung dapat digunakan dengan nama kolom, nama variabel, dan nama fungsi.

Jika Anda menyusun ekspresi menggunakan kotak dialog Desainer SSIS, pengidentifikasi reguler secara otomatis diapit dalam tanda kurung siku. Namun, tanda kurung hanya diperlukan jika nama menyertakan karakter yang tidak valid. Misalnya, kolom bernama MiddleName valid tanpa tanda kurung siku.

Anda tidak dapat mereferensikan nama kolom yang menyertakan tanda kurung dalam ekspresi. Misalnya, nama kolom Kolom[1] tidak dapat digunakan dalam ekspresi. Untuk menggunakan kolom dalam ekspresi, kolom harus diganti namanya menjadi nama tanpa tanda kurung.

Pengidentifikasi Silsilah Data

Ekspresi dapat menggunakan pengidentifikasi silsilah untuk merujuk ke kolom. Pengidentifikasi silsilah data ditetapkan secara otomatis saat Anda pertama kali membuat paket. Anda bisa menampilkan pengidentifikasi silsilah untuk kolom pada tab Properti Kolom dari kotak dialog Editor Lanjutan di Perancang SSIS.

Jika Anda merujuk ke kolom menggunakan pengidentifikasi silsilahnya, pengidentifikasi harus menyertakan awalan karakter pound (#). Misalnya, kolom dengan pengidentifikasi silsilah 147 harus dirujuk sebagai #147.

Jika ekspresi berhasil diurai, evaluator ekspresi mengganti pengidentifikasi silsilah dengan nama kolom dalam kotak dialog.

Nama Kolom Unik

Beberapa komponen yang digunakan dalam paket dapat mengekspos kolom dengan nama yang sama. Jika kolom ini digunakan dalam ekspresi, kolom tersebut harus didisambiguasi sebelum ekspresi dapat berhasil diurai. Evaluator ekspresi mendukung notasi putus-putus untuk mengidentifikasi sumber kolom. Misalnya, dua kolom bernama Age menjadi FlatFileSource.Age dan OLEDBSource.Age, yang menunjukkan bahwa sumbernya adalah FlatFileSource atau OLEDBSource. Pengurai memperlakukan nama yang sepenuhnya memenuhi syarat sebagai satu nama kolom.

Nama komponen sumber dan nama kolom memenuhi syarat secara terpisah. Contoh berikut menunjukkan penggunaan tanda kurung siku yang valid dalam notasi putus-putus:

  • Nama komponen sumber mencakup spasi.

    [MySo urce].Age  
    
  • Karakter pertama dalam nama kolom tidak valid.

    MySource.[#Age]  
    
  • Komponen sumber dan nama kolom berisi karakter yang tidak valid.

    [MySource?].[#Age]  
    

Penting

Jika kedua elemen dalam notasi putus-putus diapit dalam satu pasang tanda kurung, evaluator ekspresi menginterpretasikan pasangan sebagai pengidentifikasi tunggal, bukan kombinasi kolom sumber.

Variabel dalam Ekspresi

Variabel, saat direferensikan dalam ekspresi, harus menyertakan awalan @. Misalnya, variabel Penghitung dirujuk dengan menggunakan @Counter. Karakter @ bukan bagian dari nama variabel; hanya mengidentifikasi variabel ke evaluator ekspresi. Jika Anda menyusun ekspresi dengan menggunakan kotak dialog yang disediakan SSIS Designer, karakter @ secara otomatis ditambahkan ke nama variabel. Tidak valid untuk menyertakan spasi antara karakter @ dan nama variabel.

Nama variabel mengikuti aturan yang sama seperti untuk pengidentifikasi reguler lainnya:

  • Karakter pertama nama harus berupa huruf seperti yang didefinisikan oleh Standar Unicode 2.0, atau garis bawah (_).

  • Karakter berikutnya dapat berupa huruf atau angka seperti yang didefinisikan dalam Karakter Standar Unicode 2.0, garis bawah (_), @, $, dan # .

Jika nama variabel berisi karakter selain yang tercantum, variabel harus diapit dalam tanda kurung. Misalnya, nama variabel dengan spasi harus diapit dalam tanda kurung siku. Tanda kurung siku pembuka mengikuti karakter @. Misalnya, variabel Nama Saya dirujuk sebagai @[Nama Saya]. Tidak valid untuk menyertakan spasi antara nama variabel dan tanda kurung siku.

Catatan

Nama variabel yang ditentukan pengguna dan sistem peka huruf besar/kecil.

Nama Variabel Unik

Integration Services mendukung variabel kustom dan menyediakan sekumpulan variabel sistem. Secara default, variabel kustom milik namespace layanan Pengguna , dan variabel sistem milik namespace layanan Sistem . Anda dapat membuat namespace tambahan untuk variabel kustom dan memperbarui nama namespace agar sesuai dengan kebutuhan aplikasi Anda. Penyusun ekspresi mencantumkan variabel dalam cakupan di semua namespace.

Semua variabel memiliki cakupan dan termasuk dalam namespace layanan. Variabel memiliki cakupan paket atau cakupan kontainer atau tugas dalam paket. Penyusun ekspresi di SSIS Designer hanya mencantumkan variabel dalam cakupan. Untuk informasi selengkapnya, lihat Variabel Integration Services (SSIS) dan Menggunakan Variabel dalam Paket.

Variabel yang digunakan dalam ekspresi harus memiliki nama unik untuk evaluator ekspresi untuk mengevaluasi ekspresi dengan benar. Jika paket menggunakan beberapa variabel dengan nama yang sama, namespace layanannya harus berbeda. Integration Services menyediakan operator resolusi namespace, yang terdiri dari dua titik dua (::), untuk memenuhi syarat variabel dengan namespace layanannya. Misalnya, ekspresi berikut menggunakan dua variabel bernama Count; satu milik namespace pengguna dan satu ke namespace myNamespace .

@[User::Count] > @[MyNamespace::Count]  

Penting

Anda harus mengapit kombinasi namespace layanan dan nama variabel yang memenuhi syarat dalam tanda kurung untuk evaluator ekspresi untuk mengenali variabel.

Jika nilai Count di namespace layanan Pengguna adalah 10 dan nilai Count di MyNamespace adalah 2, ekspresi mengevaluasi ke true karena evaluator ekspresi mengenali dua variabel yang berbeda.

Jika nama variabel tidak unik, tidak ada kesalahan yang terjadi. Sebaliknya, evaluator ekspresi hanya menggunakan satu instans variabel untuk mengevaluasi ekspresi dan mengembalikan hasil yang salah. Misalnya, ekspresi berikut dimaksudkan untuk membandingkan nilai (10 dan 2) untuk dua variabel Hitung terpisah tetapi ekspresi mengevaluasi ke false karena evaluator ekspresi menggunakan instans variabel Hitung yang sama dua kali.

@Count > @Count  

Artikel teknis, SSIS Expression Cheat Sheet, di pragmaticworks.com