Aracılığıyla paylaş


Tanımlayıcılar (SSIS)

Şunlar için geçerlidir:SQL Server Azure Data Factory'de SSIS Tümleştirme Çalışma Zamanı

İfadelerde tanımlayıcılar, işlem için kullanılabilen sütunlar ve değişkenlerdir. İfadeler normal ve nitelenmiş tanımlayıcıları kullanabilir.

Normal Tanımlayıcılar

Normal tanımlayıcı, ek niteleyici gerektirmeden bir tanımlayıcıdır. Örneğin, AdventureWorks veritabanının Kişiler tablosundaki bir sütun olan MiddleName, normal bir tanımlayıcıdır.

Normal tanımlayıcıların adlandırılması şu kurallara uymalıdır:

  • Adın ilk karakteri Unicode Standart 2.0 tarafından tanımlanan bir harf veya alt çizgi (_) olmalıdır.

  • Sonraki karakterler Unicode Standart 2.0'da tanımlandığı gibi harfler veya sayılar, alt çizgi (_), @, $ve # karakterleri olabilir.

Önemli

Listelenenler dışındaki eklenmiş boşluklar ve özel karakterler normal tanımlayıcılarda geçerli değildir. Boşluklar ve özel karakterler kullanmak için normal tanımlayıcı yerine nitelenmiş tanımlayıcı kullanmanız gerekir.

Nitelenmiş Tanımlayıcılar

Nitelenmiş tanımlayıcı, köşeli ayraçlarla ayrılmış bir tanımlayıcıdır. Tanımlayıcının adı boşluk içerdiğinden veya tanımlayıcı adı bir harf veya alt çizgi karakteriyle başlamadığından bir tanımlayıcı sınırlayıcı gerektirebilir. Örneğin, İkinci Ad sütun adının köşeli ayraçlarla nitelenmiş ve bir ifadede [İkinci Ad] olarak yazılması gerekir.

Tanımlayıcının adı boşluk içeriyorsa veya ad geçerli bir normal tanımlayıcı adı değilse tanımlayıcının nitelenmiş olması gerekir. İfade değerlendiricisi, tanımlayıcıları nitelemek için açma ve kapatma ([]) köşeli ayraçlarını kullanır. Köşeli ayraçlar dizenin ilk ve son konumuna yerleştirilir. Örneğin, 5$> tanımlayıcısı [5$>] olur. Köşeli ayraçlar sütun adları, değişken adları ve işlev adlarıyla kullanılabilir.

SSIS Tasarımcısı iletişim kutularını kullanarak ifadeler oluşturursanız, normal tanımlayıcılar otomatik olarak köşeli ayraç içine alınır. Ancak köşeli ayraçlar yalnızca ad geçersiz karakterler içerdiğinde gereklidir. Örneğin, MiddleName adlı sütun köşeli ayraç olmadan geçerlidir.

İfadelerde köşeli ayraç içeren sütun adlarına başvuramazsınız. Örneğin, Sütun[1] sütun adı bir ifadede kullanılamaz. Bir ifadede kullanmak için sütun, köşeli ayraç içermeyen bir adla yeniden adlandırılmalıdır.

Köken Tanımlayıcıları

İfadeler, sütunlara başvurmak için köken tanımlayıcılarını kullanabilir. Paketi ilk oluşturduğunuzda köken tanımlayıcıları otomatik olarak atanır. SSIS Tasarımcısı'ndaki Gelişmiş Düzenleyici iletişim kutusunun Sütun Özellikleri sekmesinde bir sütunun köken tanımlayıcısını görüntüleyebilirsiniz.

Bir sütuna köken tanımlayıcısını kullanarak başvurursanız, tanımlayıcı pound (#) karakter ön ekini içermelidir. Örneğin, köken tanımlayıcısı 147 olan bir sütuna #147 olarak başvurulmalıdır.

bir ifade başarıyla ayrıştırırsa, ifade değerlendiricisi köken tanımlayıcılarını iletişim kutusundaki sütun adlarıyla değiştirir.

Benzersiz Sütun Adları

Bir pakette kullanılan birden çok bileşen, aynı ada sahip sütunları ortaya çıkarabilir. Bu sütunlar ifadelerde kullanılıyorsa, ifadelerin başarıyla ayrıştırılabilmesi için önce belirlenmeleri gerekir. İfade değerlendiricisi, sütunun kaynağını tanımlamak için noktalı gösterimi destekler. Örneğin, Age adlı iki sütun FlatFileSource.Age ve OLEDBSource.Age olur ve bu da kaynaklarının FlatFileSource veya OLEDBSource olduğunu gösterir. Ayrıştırıcı, tam nitelikli adı tek bir sütun adı olarak ele alır.

Kaynak bileşen adları ve sütun adları ayrı ayrı nitelenir. Aşağıdaki örneklerde köşeli ayraçların noktalı gösterimde geçerli kullanımı gösterilmektedir:

  • Kaynak bileşen adı boşluklar içerir.

    [MySo urce].Age  
    
  • Sütun adındaki ilk karakter geçerli değil.

    MySource.[#Age]  
    
  • Kaynak bileşen ve sütun adları geçersiz karakterler içeriyor.

    [MySource?].[#Age]  
    

Önemli

Noktalı notasyondaki her iki öğe de bir köşeli ayraç çiftinin içine alınırsa, ifade değerlendirici çifti kaynak sütun bileşimi olarak değil tek bir tanımlayıcı olarak yorumlar.

İfadelerdeki Değişkenler

İfadelerde başvurulduğunda değişkenler @ ön ekini içermelidir. Örneğin Counter değişkenine @Counter kullanılarak başvurulur. @ karakteri değişken adının bir parçası değildir; yalnızca ifade değerlendiricisinin değişkenini tanımlar. SSIS Designer'ın sağladığı iletişim kutularını kullanarak ifadeler oluşturursanız, @ karakteri otomatik olarak değişken adına eklenir. @ karakteri ile değişken adı arasına boşluk eklemek geçerli değildir.

Değişken adları, diğer normal tanımlayıcılarla aynı kuralları izler:

  • Adın ilk karakteri Unicode Standart 2.0 tarafından tanımlanan bir harf veya alt çizgi (_) olmalıdır.

  • Sonraki karakterler Unicode Standart 2.0'da tanımlandığı gibi harfler veya sayılar, alt çizgi (_), @, $ve # karakterleri olabilir.

Değişken adında listelenenler dışında karakterler varsa, değişken köşeli ayraç içine alınmalıdır. Örneğin, boşluklu değişken adları köşeli ayraç içine alınmalıdır. Açılış köşeli ayracı @ karakterini izler. Örneğin, My Name değişkenine @[My Name] olarak başvurulur. Değişken adı ve köşeli ayraçlar arasına boşluk eklemek geçerli değildir.

Uyarı

Kullanıcı tanımlı ve sistem değişkenlerinin adları büyük/küçük harfe duyarlıdır.

Benzersiz Değişken Adları

Integration Services özel değişkenleri destekler ve bir dizi sistem değişkeni sağlar. Varsayılan olarak, özel değişkenler Kullanıcı ad alanına, sistem değişkenleri ise Sistem ad alanına aittir. Özel değişkenler için ek ad alanları oluşturabilir ve ad alanı adlarını uygulamanızın gereksinimlerine uyacak şekilde güncelleştirebilirsiniz. İfade oluşturucusu, tüm ad alanları içindeki kapsam içi değişkenleri listeler.

Tüm değişkenlerin kapsamı vardır ve bir ad alanına aittir. Değişken paket kapsamına veya paketteki bir kapsayıcının veya görevin kapsamına sahiptir. SSIS Tasarımcısı'ndaki ifade oluşturucusu yalnızca kapsam içi değişkenleri listeler. Daha fazla bilgi için bkz Integration Services (SSIS) Değişkenleri ve Paketlerde Değişkenleri Kullanma.

İfadelerde kullanılan değişkenlerin, ifade değerlendiricisinin ifadeyi doğru değerlendirmesi için benzersiz adlara sahip olması gerekir. Bir paket aynı ada sahip birden çok değişken kullanıyorsa, ad alanları farklı olmalıdır. Integration Services, bir değişkeni ad alanıyla nitelemek için iki nokta üst üste (::) içeren bir ad alanı çözümleme işleci sağlar. Örneğin, aşağıdaki ifade Count adlı iki değişken kullanır; biri Kullanıcı ad alanına, biri MyNamespace ad alanına aittir.

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

Önemli

İfade değerlendiricisinin değişkeni tanıması için ad alanı ve nitelenmiş değişken adı birleşimini köşeli ayraç içine almanız gerekir.

Kullanıcı ad alanında Count değeri 10 ve MyNamespace içindeki Count değeri 2 ise, ifade değerlendiricisi iki farklı değişkeni tanıdığından ifade true olarak değerlendirilir.

Değişken adları benzersiz değilse hata oluşmaz. Bunun yerine, ifade değerlendiricisi ifadeyi değerlendirmek için değişkenin yalnızca bir örneğini kullanır ve yanlış bir sonuç döndürür. Örneğin, aşağıdaki ifade iki ayrı Count değişkeninin değerlerini (10 ve 2) karşılaştırmak için tasarlanmıştır, ancak ifade değerlendirici count değişkeninin aynı örneğini iki kez kullandığından ifade false olarak değerlendirilir.

@Count > @Count  

Teknik Makale, SSIS İfade Bilgi Sayfası, pragmaticworks.com