MSSQL 2008 FOR LOOP CONTAINER
Merhaba Arkadaşlar,
Yazılımcılar olarak vazgeçilmezimiz olan döngüleri Integration Servicelerde de kullanabiliyoruz..
Konumuz Integration Service üzerinde For Loop Container ile döngü oluşturmak. Ama önce dilerseniz ortamımızı bir tanıyalım.
Integration Service geliştirme ortamımıza MSSQL Server ile beraber yüklü gelen "SQL Server Bussiness Integellience Development Studio" ile ulaşıyoruz.. Açılırken "Shell" ibaresini göreceğiz buradan elimizdeki Visual Studio nun budanmış versiyonu olduğunu anlıyoruz. "Shell" bize BI projeleri oluşturup yönetebileceğimiz ve diğer taraftan da Web vs. gibi uygulamalarımızı da açıp değişiklik yapabileceğimiz bir ortam sunmakta.
New Project den Integration Service Projecti tıklayıp projemizi açıyoruz.

Sol taraftaki Araç kutumuzda Integration Service bileşenlerini görmekteyiz. Integration Service bileşenlerini "Control Flow Items" ve "Maintence Plan Task" olmak üzere iki ana kategoride değerlendirmekte. "Maintence Plan Tasks" ile veritabanlarımızın rutin bakımları(backup,index yenileme) ile ilgili işlemler yapabilmekteyiz. "Control Flow Items" ise işlevsel bir çok yönü bulunmakta . Kısaca ;
- Taşıyıcı bileşenleri ekleyerek tekrarlı işlemlerin ele alınması ve yönetilmesi.
- Görev bileşenleri ekleyerek veri akışı sağlanması,bunun belirli işlemlere tabi tutularak veritabanına alınması ya da halihazırda veritabanında çalışmasını istediğimiz komutların tetiklenmesi.
- Taşıyıcıların ve görevlerin bizim belirlediğimiz kısıt bileşenlerini kullanarak bir akışa dahil edilmesi ve yönetilmesi.
Konumuzu dağıtmadan örneğimize geçelim..
Örneğimizde değişken olarak alacağımız i değerini max değerine kadar saydırarak sayacımızdaki değeri döngüsel olarak veritabanındaki bir tabloya aktarmaya çalışacağız.
"Control Flow Items" dan "For Loop Container" ve "Execute SQL Task" bileşenleri alıp Görevimizi Taşıyıcı içine gelecek şekilde yerleştiriyoruz..
SISS sekmesinden "Variables" ı seçip şekildeki gibi tanımlamalarımızı yapıyoruz. (i ve max adlı)

Şimdi ise baglantımızın tanımlamasını yapacağız. Bunun için "Connection Manager" kısmında sağ tuş yapıyoruz ve "New Connection" karşımıza bağlantı tipleri geldi.
OLEDB,ODBC,ADO ve ADO.net bağlantılarını kullanabiliriz burada hangi bağlantıyı kullanacağımız önemli çünkü "Execute SQL Task" görevinindeki komutumuzu ilgili bağlantıya göre yazmamız lazım.
Ben bu uygulamada bir OLEDB bağlantısı tanımlaması yapıyorum. OLEDB parametre gönderimi ise şu şekilde oluyor.
Parametre İşareti : ?
Parametre Numaralandırma : 0,1,2..
Örnek Sql kodu : select * from HumanResources.Employee where ManagerId =?
Daha sonra bağlantı ayarlarımızı (veritabanı vs.) yapıyoruz. Veritabanımıza bu arada "Table_1" isimli tek kolonlu bir tablo oluşturalım. Son olarak Baglanti ismine "baglanti" adını verelim. (Otomatik isim verecektir üzerine gelip F2 tuşu ile editleyebilirsiniz.)
Görevimize sağ tuş "Edit" ile Baglanti gösterimi ve çalışacak sql ifadesini giriyoruz.

Şimdi ise i değerini parametre olarak görevimize tanımlayalım.

Bu kısımda kullanıcı değişkeni i ve "Parameter Name" kısmına bakalım. Üst kısımda OLEDB bağlantısına göre tek ve ilk parametre olduğundan değer olarak bu kısıma "0" giriyoruz.
Sıra geldi taşıyıcı kısmında yapacağımız işlemlere. Taşıyıcı kısmında sağ tuş "Edit" diyoruz ve ayarlamaları yapıyoruz..

Son olarak taşıyıcımıza sağ tuş "Execute Container" deyip çalışmasını sağlıyoruz.
Kodlara göre Table_1 tablosuna 5,6,7,8,9 değerlerinin yazılmış olması lazım..

Herkese İyi Çalışmalar..
Kaynaklar: http://technet.microsoft.com/en-us/library/ms140234.aspx
http://decipherinfosys.wordpress.com/2008/03/26/running-parameterized-sql-commands-using-the-execute-sql-task-i/
Yazılımcılar olarak vazgeçilmezimiz olan döngüleri Integration Servicelerde de kullanabiliyoruz..
Konumuz Integration Service üzerinde For Loop Container ile döngü oluşturmak. Ama önce dilerseniz ortamımızı bir tanıyalım.
Integration Service geliştirme ortamımıza MSSQL Server ile beraber yüklü gelen "SQL Server Bussiness Integellience Development Studio" ile ulaşıyoruz.. Açılırken "Shell" ibaresini göreceğiz buradan elimizdeki Visual Studio nun budanmış versiyonu olduğunu anlıyoruz. "Shell" bize BI projeleri oluşturup yönetebileceğimiz ve diğer taraftan da Web vs. gibi uygulamalarımızı da açıp değişiklik yapabileceğimiz bir ortam sunmakta.
New Project den Integration Service Projecti tıklayıp projemizi açıyoruz.
Sol taraftaki Araç kutumuzda Integration Service bileşenlerini görmekteyiz. Integration Service bileşenlerini "Control Flow Items" ve "Maintence Plan Task" olmak üzere iki ana kategoride değerlendirmekte. "Maintence Plan Tasks" ile veritabanlarımızın rutin bakımları(backup,index yenileme) ile ilgili işlemler yapabilmekteyiz. "Control Flow Items" ise işlevsel bir çok yönü bulunmakta . Kısaca ;
- Taşıyıcı bileşenleri ekleyerek tekrarlı işlemlerin ele alınması ve yönetilmesi.
- Görev bileşenleri ekleyerek veri akışı sağlanması,bunun belirli işlemlere tabi tutularak veritabanına alınması ya da halihazırda veritabanında çalışmasını istediğimiz komutların tetiklenmesi.
- Taşıyıcıların ve görevlerin bizim belirlediğimiz kısıt bileşenlerini kullanarak bir akışa dahil edilmesi ve yönetilmesi.
Konumuzu dağıtmadan örneğimize geçelim..
Örneğimizde değişken olarak alacağımız i değerini max değerine kadar saydırarak sayacımızdaki değeri döngüsel olarak veritabanındaki bir tabloya aktarmaya çalışacağız.
"Control Flow Items" dan "For Loop Container" ve "Execute SQL Task" bileşenleri alıp Görevimizi Taşıyıcı içine gelecek şekilde yerleştiriyoruz..
SISS sekmesinden "Variables" ı seçip şekildeki gibi tanımlamalarımızı yapıyoruz. (i ve max adlı)
Şimdi ise baglantımızın tanımlamasını yapacağız. Bunun için "Connection Manager" kısmında sağ tuş yapıyoruz ve "New Connection" karşımıza bağlantı tipleri geldi.
OLEDB,ODBC,ADO ve ADO.net bağlantılarını kullanabiliriz burada hangi bağlantıyı kullanacağımız önemli çünkü "Execute SQL Task" görevinindeki komutumuzu ilgili bağlantıya göre yazmamız lazım.
Ben bu uygulamada bir OLEDB bağlantısı tanımlaması yapıyorum. OLEDB parametre gönderimi ise şu şekilde oluyor.
Parametre İşareti : ?
Parametre Numaralandırma : 0,1,2..
Örnek Sql kodu : select * from HumanResources.Employee where ManagerId =?
Daha sonra bağlantı ayarlarımızı (veritabanı vs.) yapıyoruz. Veritabanımıza bu arada "Table_1" isimli tek kolonlu bir tablo oluşturalım. Son olarak Baglanti ismine "baglanti" adını verelim. (Otomatik isim verecektir üzerine gelip F2 tuşu ile editleyebilirsiniz.)
Görevimize sağ tuş "Edit" ile Baglanti gösterimi ve çalışacak sql ifadesini giriyoruz.
Şimdi ise i değerini parametre olarak görevimize tanımlayalım.
Bu kısımda kullanıcı değişkeni i ve "Parameter Name" kısmına bakalım. Üst kısımda OLEDB bağlantısına göre tek ve ilk parametre olduğundan değer olarak bu kısıma "0" giriyoruz.
Sıra geldi taşıyıcı kısmında yapacağımız işlemlere. Taşıyıcı kısmında sağ tuş "Edit" diyoruz ve ayarlamaları yapıyoruz..
Son olarak taşıyıcımıza sağ tuş "Execute Container" deyip çalışmasını sağlıyoruz.
Kodlara göre Table_1 tablosuna 5,6,7,8,9 değerlerinin yazılmış olması lazım..
Herkese İyi Çalışmalar..
Kaynaklar: http://technet.microsoft.com/en-us/library/ms140234.aspx
http://decipherinfosys.wordpress.com/2008/03/26/running-parameterized-sql-commands-using-the-execute-sql-task-i/
Yorumlar
Yorum Gönder