3 Eylül 2019

Oracle Database'de Excel Datası ile Export ve Import İşlemleri

Oracle Database'de Excel Datası ile Export ve Import İşlemleri

Test datası hazırlarken genelde birçok SQL sorgusu hazırlama veya Script yazma gibi ihtiyaçlar duyarız. Çok fazla datalı işlemlerde ise olayı biraz daha basit hale getirerek Oracle Database'de Excel olarak indirdiğimiz datayı biraz manipüle ederek tekrar Database'e atma işlemlerini size anlatacağım.

Oracle Database'de yapacağımız işlem için DB Connetion aracı olarak TOAD kullandım. Görseller bunun üzerinden olacaktır. İlk olarak TOAD'da ilgili Şema ve tablolar açılır. Datasını indirmek istediğiniz Tabloya (Table) sağ tıklanır ve aşağıdaki görseldeki gibi Export Data sekmesine tıklanır.

Oracle Database'de Excel Datası ile Export ve Import İşlemleri

Açılan Export Dataset sekmesinde Export Format kısmından Excel File seçilir ve dosyayı çıkarmak istediğiniz File Path belirtilerek Excel formatında o tablodaki tüm Data setini çekebilirsiniz.

Oracle Database'de Excel Datası ile Export ve Import İşlemleri

Export işlemi ile tablodaki tüm datayı aldık. Şimdi Excel'deki datayı Tablonun özelliklerine göre formatlayıp ve değiştirip tekrar atalım.

Oracle Database'de Excel Datası ile Export ve Import İşlemleri

İpucu: Bir tablodaki kolonların veri tiplerini öğrenmek için TOAD'da ilgili tabloyu seçin ve Columns sekmesinden Data Type kısmından o kolonun veri tipini öğrenebilirsiniz.

Excel'de dataları ihtiyaca göre manipüle ettikten sonra yine Excel üzerinde ilgili kolonu seçip sağ tıklayıp Format Cells kısmından Number, Data gibi veri tiplerini düzeltebilirsiniz. 

Örneğin Number seçtiniz ve virgüllü bir değer olmasını istemiyorsanız Decimal Places değerini 0 yapınız. Yine aynı şekilde Date seçerek sadece Gün/Ay/Yıl olarak seçebilir ve haftanın günlerini iptal edebilirsiniz.

Son olarak tüm kolonların test datası hazırsa tekrar ilgili tabloya Data Import için yukarıdaki resimde kırmızı alanla gösterdiğim kolon adlarını siliniz, sadece Datalar kalsın. Ayrıca Excel'de başka Sheet varsa onu da siliniz tek Sheet kalsın.

Oracle Database'de Excel Datası ile Export ve Import İşlemleri

Makaledeki ilk resimdeki gibi Data atacağınız tabloya sağ tıklayıp Import Data sekmesine tıklayınız. Tablo içinde daha önceden atılmış Data varsa ekranda gösterecektir, Next diyerek devam ediniz.

Select Source kısmında Excel File seçiniz ve Excel dosyasının File Path alanını belirtiniz ve Next diyerek devam ediniz. Specify Source Data Details ekranı gelecektir. Excel'de ilgili manipüle işlemlerini yaptığımız için bu kısmı Next diyerek geçebilirsiniz.

Excel'deki datalar ekrana gelecektir eğer doğru ise Next diyerek devam ediniz. Bir hata varsa; Null alan veya Kolon adı uyuşmazlığı gibi burada Error verecektir. Eğer Excel dosyanız hatasız ise Execute diyerek Import işlemini tamamlayabilirsiniz.

Oracle Database'de Excel Datası ile Export ve Import İşlemleri

Specify Source Data Details ekranında Excel'deki ilk satır kolon isimleri yazdığı için First Row sırasını 2'den başlatabilirsiniz. Last Row'da ise Excel'deki son data satırını yazınız. Trim Spaces için gerekli ayarlamaları da bu ekrandan yapabilirsiniz.

Specify Import Mode olan son ekranda ise Use Array DML seçeneğini seçerseniz Datayı çok hızlı atar ama size hataları göstermez ve direk atlayarak geçer. Bunun amacı bir milyon gibi büyük datalarda hızlı çalışabilmek içindir. Siz Excel Data Setinizi çok iyi hazırlamışsınızdır ve hata yoktur. Hazırladığınız yüksek boyutlu bu datayı hızlı atabilmek için bu seçeneği kullanırsınız.

Data Import sonrası eğer hata almazsanız Error çıkmayacaktır ve bilgi ekranını Close yaparak kapatınız ve ardından mutlaka Commit yapınız, yoksa Datalarınız kaydolmaz.

* Execute ettikten sonra Data Import sırasında VARCHAR2 gibi String alanlarda eğer belirtilen uzunluktan (Byte) daha fazla karakter girdiyseniz ve yüklüce data atıyorsanız size uyarı verecektir bu durumdan dolayı. Data Import işlemini bozmamak için Trim veya Trim and don't ask again diyerek Data atmaya devam ediniz. Trim yapılan kısımları daha sonra düzeltiniz.

* Tarihleri Date kısmından ayarlayabilirsiniz. Type olarak GG.AA.YYYY olarak genelde kullanılır.

Burak AVCI

Hiç yorum yok:

Yorum Gönder

Makaleye Yorum ve Sorularınızı Bırakabilirsiniz.