SQL*LOADER


SQL Loader adalah tool Oracle untuk me-load data dari flat (text) file ke dalam tabel di database Oracle. Program (executable) SQL Loader adalah sqlldr, lokasi ada di $ORACLE_HOME/bin.
SQL Loader sering digunakan untuk me-load data dari system yang berbeda. Misalkan transaksi di-handle oleh database non Oracle, sementara datawarehouse menggunakan Oracle. Nah, data transaksi dari non Oracle ini kemudian di-export ke dalam text file, dan kemudian di-import ke Oracle pakai SQL*Loader.

Langkap pertama, buat control file yang berisi parameter-parameter untuk SQL Loader. Misalkan saya beri nama siswa.ctl

LOAD DATA TRUNCATE into table migrasi.migrdpk_siswa
FIELDS TERMINATED BY '^^' OPTIONALLY ENCLOSED BY '"'
TRAILING NULLCOLS (
SISWA_ID,NAMA "NVL(:NAMA,'-')",KELAMIN "NVL(:KELAMIN,'P')",
K_AGAMA "NVL(:K_AGAMA,9)",TMP_LAHIR,TGL_LAHIR DATE 'DD-MM-YYYY'
"NVL(:TGL_LAHIR,to_date('01-01-1900','DD-MM-YYYY'))", ALAMAT,USER_ID)

Langkah selanjutnya, load data di penjualan.dat ke tabel PENJUALAN. Gunakan perintah berikut:

sqlldr USERID=test/test CONTROL=siswa.ctl, DATA=siswa.dat, LOG=siswa.log, BAD=siswa.bad

Parameter untuk sqlldr adalah:

    1. USERID: user dan password ke database Oracle
    2. CONTROL: control file yang akan digunakan
    3. DATA: file (data) yang akan di-load
    4. LOG: file untuk menyimpan log dari proses loader
    5. BAD: file untuk menyimpan data yang tidak diprose

      Setelah menjalankan sqlldr di atas, lihat lognya di file siswa.log. Oo… ternyata ada error:

      Record 5: Rejected - Error on table siswa, column tgl_lahir.

      Leave a Reply

      Fill in your details below or click an icon to log in:

      WordPress.com Logo

      You are commenting using your WordPress.com account. Log Out / Change )

      Twitter picture

      You are commenting using your Twitter account. Log Out / Change )

      Facebook photo

      You are commenting using your Facebook account. Log Out / Change )

      Google+ photo

      You are commenting using your Google+ account. Log Out / Change )

      Connecting to %s