Salı , 19 Haziran 2018

SQL Server Integration Service 2012 Expression Task Bileşeni

SQL Server 2012 ile beraber SSIS(SQL Server Integration Service) kısmına yeni eklenen bir bileşen olan Expression Task bileşeni paketlerimizin içindeki parametre ve değişkenlere çalışma zamanında değer ataması yapmak için kullanılmaktadır. Çok basit bir iş gibi görünen değişken ve parametrelere iş akışına göre çalışma zamanında yeni değer atama işlemi SQL Server 2012 ile beraber aynı bir bileşen olarak eklenmiştir.

SQL Server 2012 öncesinde aynı işlemi değişkenlerimizin EvaluateAsExpression özelliğini True yaparak gerçekleştirebiliyorduk. Fakat bu işlem için ayrı bir bileşen geliştirilmesinin amacı değişken değerlerini bir iş akışı içinde farklı bir adımda değiştirmektir. Yani diğer bir değişle böyle bir bileşenin geliştirilmesi Integration Service tarafında Single Responsibility prensibini sağlamak içindir. Yani her bileşen kendine ait görevi yerine getirmekten sorumludur ve bu nedenle böyle bir bileşen oluşturma zorunluluğu doğmuştur.

Şimdi yeni Expression Task bileşenimizi kullanabilmek için paketimize aşağıdaki gibi bir değişken ekleyelim.

expression task 1

Tarih adlı değişkenimizi tanımladıktan sonra tipini Datetime olarak seçelim ve başlangıç değeri olarak bugünün tarihini verelim. Tanımladığımız bu değişkenin değerini Expression Task bileşeni ile çalışma zamanında değiştireceğiz. Örneğin Expression Task bileşeninden önceki değeri verdiğimiz bugünün tarihi iken Expression Task bileşenimizi kullanarak bu değere bir gün daha ekleyelim.

Şimdi örnek için paketimize aşağıdaki gibi Expression Task bileşenimizi ekleyelim.

expression task 2

Yukarıdaki resimde Expression Task bileşenimizin üzerinde kırmızı çarpı işareti görüyoruz. Bu işaret bileşenimizin henüz yapılandırılmadığı ya da yanlış yapılandırıldığı anlamına gelmektedir. Expression Task bileşenimizi yapılandırmak için bileşenimizin üzerine çift tıklayalım. Karşımıza aşağıdaki gibi bir pencere gelecektir.

expression task 3

Yukarıdaki pencere Expression Task bileşenimiz için yeni Expression yani ifadeler hazırlamamız için kullanabileceğimiz Expression Editor penceresidir. İstediğimiz atama işlemlerini alt tarafındaki Expression kısmında yapabiliriz. Şimdi yazdığımız Expression ile tanımladığımız tarih değişkenine bir gün ekleyelim. Bu işlem için kullanacağımız ifade daha önce TSQL ile geliştirme yapmış olanların yabancı olmadığı bir ifade biçimidir. Hemen yazacağımız Expression değerini inceleyelim.

@[User::Tarih]= DATEADD(“dd”, 1, getdate() )

Yukarıdaki Expression değerini incelediğimizde tanımladığımız değişkenimize bugünkü tarihe bir gün ekleyerek atama yaptık. Bildiğimiz gibi DATEADD fonksiyonu parametre aldığı tarih değerine yine parametre olarak belirtilen kadar tarih değeri ekler. Yazdığımız Expression sonrası penceremiz aşağıdaki gibi olacaktır.

expression task 4

Expression Task bileşenimizi konfigure ettikten sonra sonra değişkenimizin ilk değerini ve Expression Task bileşeninden sonraki değerini görüntülemek için paketimize aşağıdaki resimde gösterildiği gibi iki tane Script Task bileşeni ekleyelim.

Her iki Script Task bileşkemizin içinde tanımladığımız tarih değerini ekrana göstermek adına aşağıdaki kodu yazalım.

expression task 5

 

Yukarıdaki yazdığımız kodu incelediğimizde kullanıcı tanımlı olan bir değişkene Script Task bileşeni içinden erişmek için hiç şüphesiz ilgili değişkeni Script Task Editor penceresinde eklemeliyiz.

Gerekli olan tüm ayarları yaptıktan sonra şimdi F5 tuşuna basarak paketimizi çalıştıralım. Eğer herhangi bir hata yapmadıysak karşımıza aşağıdaki gibi bir ekran gelecektir.

expression task 6

 

Hakkında ismailadar

Cevapla

E-posta adresiniz yayınlanmayacak. Required fields are marked *

*


*

Şu HTML etiketlerini ve özelliklerini kullanabilirsiniz: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>