Read Multiple Files With Informatica

Merhabalar,

Bu yazımı bir klasörün içindeki birden çok dosyanın nasıl okunacağı anlatmak amacıyla ele alıyorum.

Buradaki kritik nokta her bir file ın tek bir mapping in çalışması ile okunmasının sağlanması. Yani bir dosyayı okuduktan sonra diğer dosyayı okumaya başlamasını sağlamamız gerekmekte. Böylece birden fazla dosyanın ilgili target a aktarılması için birden çok mapping hazırlamak zorunda kalmayacağız.

SSIS te Foreach komponenti ile yaptığımız bu işlemi Informatica Power Center da Foreach Task ı olmadığı için farklı yöntemle gerçekleştireceğiz.

Şirketlerin haftalık satışlarını ayrı ayrı excel dosyalarında tuttuklarını düşünürsek, geçmiş 5 yıllık satış verisini database e aktarmamız gerektiğinde  oldukça ihtiyaç duyacağımız bir yöntem olacaktır. 52×5 =260 tane mapping oluşturmak tabiki başvuracağımız bir yöntem olmayacaktır.

Demo üzerinden ilerleyerek çalışmamızı daha kalıcı hale getirelim.

İki farklı txt dosyasında Employee bilgilerini sakladığımızı düşünelim.

txt1.PNG

txt2.PNG

Oracle da bulunan Employee tablomuza bu dataların aktarımını gerçekleştireceğiz. SourceFile klasöründeki bulunan hangi dosyaları okuyacağını bildirmek üzere File_List dosyası oluşturuyorum. Okumak istediğim dosyaların ismini yazıyorum bu dosyaya.

txt3.PNG

Power Center ı açıp source ve target larımı ekliyorum.

Source olarak sadece Employee1.txt yi ekliyorum, zaten amacımız her bir source u eklemeden hepsini tek bir mapping ile target a aktarabilmek.

Daha önce oluşturmuş olduğum Oracle target tablomu ekliyorum.

txt4

Mapping designer ekranına geçip mapping imizi oluşturmaya başlayabiliriz.

Herhangi bir transformation yapmadan Target a aktarım yapmak istediğim için ilgili Port ları birbirine bağlıyorum. Mapping işlemim bittikten sonra, validate ettikten sonra, Workflow Manager ekranından workflow u oluşturmaya başlıyorum.

txt5.PNG

wf_Read_Multiple_File adında wf create ettikten sonra, Session Tak ekleyerek hangi Mapping i çalıştıracağımı söylüyorum, sonrasında Link task ile Start ve Session Task ı birbirine bağlıyorum.

txt6.PNG

Asıl önemli nokta burası. Dedikki birden fazla dosya üzerinde dönerek okumak. Hangi dosyaların üzerinde dönerek okuma işlemi yapacağını belirtmek için File_List dosyası oluşturmuştuk. Bu ayarlamaları wf içinde yapmamız gerekmekte.

Session Task ı editliyorum. Mapping segmesinden Source u seçiyorum.

Source File Type: Indirect,

Source File Directory: Source ların bulunduğu klasör,

Source File Name: Üzerinde dönerek okuyacağımız Source dosyaların isimlerini yazdığımız dosyanın ismini yazıyoruz

txt7.PNG

Wf i kaydedip çalıştırıyoruz. Session ın Log una baktığımızda 5 satır verinin Target a aktarıldığını görebilmekteyiz.

txt8.PNG

File_List te yazılı olan dosyaları okuduğunu belirttik, bunu test etmek amacıyla Employee3 isminde bir dosya ekliyorum.

txt9.PNG

Target tablomu truncate ederek çalıştırıyorum. Target tablomuza baktığımızda sadece File_List te yazılı olan dosyaları okuduğunu görebilmekteyiz.

txt10.PNG

Umarım sizler için faydalı bir yazı olmuştur.

Keyifli günler..

Şeydanur Sandıkçı

Reklamlar

Bir Cevap Yazın

Aşağıya bilgilerinizi girin veya oturum açmak için bir simgeye tıklayın:

WordPress.com Logosu

WordPress.com hesabınızı kullanarak yorum yapıyorsunuz. Log Out / Değiştir )

Twitter resmi

Twitter hesabınızı kullanarak yorum yapıyorsunuz. Log Out / Değiştir )

Facebook fotoğrafı

Facebook hesabınızı kullanarak yorum yapıyorsunuz. Log Out / Değiştir )

Google+ fotoğrafı

Google+ hesabınızı kullanarak yorum yapıyorsunuz. Log Out / Değiştir )

Connecting to %s

%d blogcu bunu beğendi: