Alfabetik Sıralama :ABCDEFGHIJKLMNOPQRSTUVWXYZ -


Oracle içerisinde bulunan SQLLOADER ile metin bazlı bilgilerimizi yani bir txt, doc veya excel file(csv commadelimited formatında veya txt file a atılmış) içerisinde  bulunan verilerimizi veritabanımıza kolayca aktarabiliriz. SqlLoader, kontrol dosyası denilen bir ayar tanım dosyası eşliğinde, virgül ayırımlı, boşluk ayırımlı, tab ayırımlı, ya da sabit uzunluktaki kolonlar içeren metinlerin hepsini veri tabanına yükleyebilir.

Aşağıdaki örnekte, Personelin PERSONEL_ID, ADI, SOYADI, BÖLÜMÜ, EMAİL´i bilgilerini içeren bir text dosyasının veritabanına nasıl import edileceğini göreceğiz. ( Örnekte kullanılan metin dosyası ektedir,dosyayı bilgisayarınıza indiriniz.)

Öncelikle Metin dosyası verilerinin yükleneceği table create edilir:

SQL> create table personel (personel_id number(7) not null,
               ad varchar2(10) not null,
               soyad varchar2(15),
               bolum_ad varchar2(15),
               email varchar2(25));

               
Sqlloader ın çalışması için personel tablosunun bilgilerinin bulunduğu bir control dosyası create etmemiz gerekiyor.Bir txt file açarak içerisine aşağıdaki kodu yazıp load.ctl olarak kaydedelim.
 
 LOAD DATA
   INFILE ´F:/programlar/oracleversion/sqlloader/impersonel.txt´
   INTO TABLE personel
    (personel_id   POSITION(01:07)    INTEGER EXTERNAL,
     ad           POSITION(08:20)    CHAR,
     soyad        POSITION(21:31)    CHAR,
     bolum_ad     POSITION(32:47)    CHAR,
     email        POSITION(48:65)    CHAR )

Burada infile ile metin dosyamız;into ile aktarım yapmak için create ettiğimiz table;POSITION(?:?) ile, değerlerin satırdaki başlangıç ve bitiş noktaları belirlenmiştir. 

Sabit uzunlukların bulunduğu veri dosyaları için position kullanılırken ,değişken uzunluklu , farklı ayıraçlar kullanılmış bir veri dosyasında ise control dosyası ayarı farklıdır.Ekteki metin dosyasının sabit uzunluk değilde verilerin arasının virgülle ayrıldığını düşünürsek control dosyasımızın aşağıdaki gibi olması gerekir:

LOAD DATA
INFILE ´F:/programlar/oracleversion/sqlloader/impersonel.txt´
INTO TABLE personel FIELD TERMINATED BY ´,´ OPTIONALLY ENCLOSED BY ´ " ´
        (personel_id,ad,soyad,bolum_ad,email)

Son olarak cmd dan aşağıdaki komutu çalıştırıp bimpersonel.txt tablosundaki verileri veritabanımızdaki personel tablosuna yükleyelim:
   C:>sqlldr hr/hr control=F:/programlar/oracleversion/sqlloader/load.ctl
   log=F:/programlar/oracleversion/sqlloader/persloader.log
   bad=F:/programlar/oracleversion/sqlloader/load.bad discard=F:F:/programlar/oracleversion/sqlloader/load.dis

   SQL*Loader: Release 10.2.0.1.0 - Production on Cum Ara 22 10:45:19 2006

Copyright (c) 1982, 2005, Oracle.  All rights reserved.

Islem noktasına ulasıldı - mantiksal kayit sayisi 4
Islem noktasına ulasıldı - mantiksal kayit sayisi 5
İşlem başarıyla gerçekleşmiştir.Sql den aşağıdaki şekilde personel tablomuzun içeriğine bakıp verilerimizi artık burdan takip edebiliriz.
SQL> conn hr/hr
Ba­land².
SQL> select * from personel;

PERSONEL_ID AD         SOYAD           BOLUM_AD        EMAIL
----------- ---------- --------------- --------------- ---------------------

          1 b³¦ra      kara            veritaban²      dkara@mail.com
          2 seda       k÷se            donan²m         skose@mail.com
        142 devran     berrak          donan²m         dberrak@mail.com
      75896 esin       hazan           sistem          ehazan@mail.com
      45867 banu       sadio­lu        yaz²l²m         bsadioglu@mail.com

bimpersonel.txt


Konu: SQLLOADER ile metin belgelerini oracle veritabanına atma
 
Okunma Sayısı : 47
Eklenme Tarihi : 31 Ocak 2007, Çarşamba
SONRAKI BILGI : Cache Bellek Nedir?   
Forum Linki:
Aranan Kelime:
   

 

 

Copyright © 2008 Temha.neT