3 Kasım 2014 Pazartesi

IBM InfoSphere Datastage ile Datasource Aktarım Job'ı Hazırlama

Datastage ile basit bir şekilde bir ordamdan başka ortama data source tablosu veya datası aktarmak için şu adımları yaparız;

Step 1: Parallel Job açma;
















Step 2: Source ve target parameter setleri  alma;
















Job properties’i açtıktan sonra  açılan pencereden Parameter sekmesini açıyoruz.  Bu sekmede aşağıda yer aldığı gibi Add Parameter Set’ı tıklıyoruz ve açılan Open penceresinden source ve target ortamlarımız için oluşturduğumuz parameter setleri seçiyoruz.



















Parameter setleri ekledikten sonra OK deyip çıkıyoruz. Ve Parallel job’ımıza dönüyoruz.


















Step 3: Oracle Connector ile ortamlara bağlanma;


Datastage de sağ tarafta bulunan Palette view’inden Oracle Connector’u buluyoruz ve fare ile Connector’ü sürükleyip Job’ın içine bırakıyoruz. Source ve target sistemlerin ikiside oracle olduğu için iki tane koyuyoruz. Eğer source , target yada her iki ortamda as400 olacaksa Connector olarak ODBC Connector kullanılır.  
















İki ortamı birbirine link yardımıyla bağlıyoruz. Source ortam üzerine mouse sağ click ile tıklayıp bırakmadan sürükleyip target ortam ortam üzerine bıraktığımızda iki ortamı bağlamış oluyoruz.

Step 4: Source ve  target connector  bilgilerini girme;


Source Connector’e çift tıkladımızda Properites sekmesi açılır burda bağlantı bilgileri ve hangi tablo alınacaksa şeması ile adı yazılır. Job’ a parametreleri daha önce eklediğimiz için bize sadece seçmek kalıyor. Server’in sağ köşesine tıkladığımızda aşağıdaki gibi bu job için kullanabileceğimiz parametreler gelir.

















Step 5 :Source sistemden tablo alma veya select çekme;


Source sistemden select çekeceksek bunu Select statement’ yazıyoruz.  

















Select’e yazdığımız tüm kolonları Columns sekmesinde tipi ve boyutuyla tanımlamamız gerekir. Alanların Nullable özelliğini null gelme ihtimali olan kolonlar için ‘Yes’ yapmamız gerekir aksi halde null gelen bir değerde aktarım Abort olur.


















Eğer bir Select statement yazmayacaksak sadece tek bir tablo aktarımı yapmak istiyorsak Generate SQL at runtime özelliğini ‘Yes’ olarak değiştiriyoruz. 

















Değiştirdikten sonra altında bulunan Table name kısmına almak istediğimiz tabloyu şeması ile beraber yazıyoruz. 
















Komple tabloyu aktarmak istediğimizde tablonun kolonlarını tek tek Columns sekmesine yazmak yerine tabloyu datastage ‘e import ediyoruz.  Columns sekmesine geliyoruz ve Load ‘a tıklıyoruz.

















Tıkladıktan son açılan pencerenin  boş olan biryerine sağ tıklıyoruz ve ve aşağıdaki gibi Import Table Definition -->  Orchestrate Schema Definitions diyoruz.
















Açılan pencerede aktaracağımız tablo adını şeması ile beraber yazıyoruz, ve source bağlantı bilgilerini yazıyoruz. DBMS Type source sistem oracle database’i olduğu için Oracle seçilir ama AS400 den tablo aktarırken ODBC seçilmesi gerekiyor. Database server adı (datastage de tns’in tanımlarken verilen server name olmalıdır bazı ortamlar için bu farklı verilmiş olabilir.) , user name ve password bilgileri yazıyoruz ve daha sonra Next diyouz.
















Buradan sonra birkaç ekrana daha Next diyoruz bu ekranlarda tablo bilgileri, import edeceği klasör vs. gösteriliyor. Finish diyip bitiriyoruz. Daha önce açtığımızı ekranda import ettiğimiz tabloyu buluyoruz. Tablo Oracle altında import ettiğimiz ortam adıyla aynı isimde olan klasör altında bulunur. Tabloyu seçip OK diyoruz. 


















Bu ekranda import ettiğimiz tablonun kolonları gelir. Tablonun tüm kolonlarını veya sadece kullanmak istediğimiz kolonlarını seçip OK diyoruz.


















Daha sonra Column sekmesinde görünen kolon bilgileri üzerinde gerekliyse değişiklik yapabiliriz. OK deyip kaydediyoruz. 















Step 6: Target sisteme insert yapma;


Source sistem ile ilgili yapılacaklar bitti şimdi taget sistemi çift tıklayıp açıyoruz. Source için yaptığımız gibi aynı şekilde bağlantı bilgilerini yazıyoruz yani target parametrelerini seçiyoruz.  Ve insert etmek istediğimiz tablo adını yazıyoruz şeması ile beraber.  Son olarak insert etme şeklimizi seçiyoruz. Table action’ yapmak istediğimiz neyse onu seçiyoruz. Target sistem için kolon tanımlaması yapmamıza gerek yok source sistemden otomatik olarak kolon tanımlamalarını alır.
















Job’ı  save ediyoruz.  Parallel bir job oluşturduğumuzda Decimal separator  default olarak . (period) olarak seçili gelir fakat Oracle bir sisteme insert yaparken Decimal separator ,(comma) olarak değiştirilmelidir aksi halde job hata alır ve insert yapamaz.  AS400 bir sisteme insert yapılmak istenirse Decimal separator değiştirilmemelidir . (period) olarak kalmalıdır.  Job properties’i açıyoruz  Default sekmesine geliyoruz ve Decimal separator’ü değiştirip OK diyoruz. 
















Step 7: Job’ı derleme ve çalıştırma;


Job’ı Compile ediyoruz ve sonra çalıştırıyoruz. Job hata alırsa yeniden çalıştırmak için öncelikle job’ın tekrar compile edilmesi  gerekir.



















1 yorum:

  1. netezzadan oracle a aktarım yapmak istiyorum kolonları otomatik içeri almaya çalışırken cannot get schema definition for requested database table hatası alıyorum

    YanıtlaSil