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.
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