April 23, 2009...1:46 am

bermain dengan oracle oracle loader

Lompat ke Komentar

oracle (data base bukan salah satu tokoh dalam kisah The Matrix Trilogy) mempunyai sebuah tools yang cukup menarik dan sangat berguna bila kita ingin membuat sebuah external yang bisa di-query di dalam oracle. Tabel external adalah sebuah tabel yang struktur nya didefinisikan dalam database namun datanya sendiri disimpan dalam sebuah atau lebih file dalam sebuah sistem operasi.  Tabel ini tidak akan di-manage oleh oracle sehingga merupakan tabel yang read only

file yang dimaksud biasanya berupa file csv (comma separated value). Menggunakan oracle_loader ini jauh lebih mudah jika dibandingkan dengan membuat database link dengan heterogenous service yang saya tulis sebelumnya. Cara pembuatannya sangat mudah yaitu dengan membuat direktory di oracle lalu membuat tabel yang digunakan sebagai tempat penampungan data dari file yang ingin diambil datanya.

membuat direktory di oracle

direktori ini bukanlah seperti direktori yang ada pada file system sebuah sistem operasi, cara pembuatan direktori pada oracle adalah:

CREATE OR REPLACE DIRECTORY test_dir 'E:\test_lines'

membuat tabel

script tabel nya adalah sebagai berikut:

CREATE TABLE tabel_test(
   no                   VARCHAR2(2000),
   name              VARCHAR2(2000),
   desc                 VARCHAR2(2000)
 )
ORGANIZATION EXTERNAL
( type oracle_loader
  default directory test_dir
  access parameters
  ( records delimited BY newline
    fields terminated by ',' optionally enclosed by '"'
    (no, name, desc)
  )
  location ('test.csv')
)
  reject limit unlimited

dimana location adalah nama file csv yang dituju. contoh file csv nya adalah:

1,budi,ini budi

2,banu,ini banu

ada beberapa keterbatasan dalam penggunaan oracle loader ini, yaitu :

  • bersifat read only, sehingga DML seperti update, insert dan delete tidak akan berfungsi (pada oracle 9i), dan untuk versi selanjutnya sepertinya akan disupport.
  • tidak mendukung file yang ukurannya lebih besar dari 2GB.

selamat mencoba…

& Komentar


Tinggalkan Balasan