6 Aralık 2010 Pazartesi

Bulk Insert(Not Defterinden Sql'e Veri Girişi)

Bulk insert genellikle sql tabloları arasında yapılan kopyalama işlemleri olarak bilinir ama ben size bir txt (txt,csv .. vs gibi dosyaları da destekliyor) dosyasından sql tablolarına insert işlemini anlatacağım. Nasıl senaryolarda kullanılır. Bir banka, günlük satış raporlarını size txt uzantılı yollar ve bu bilgiler de veritabanına işlenmesini isteyebilir. Bunun için yapacağımız yöntem, visual studio yardımıyla tüm verileri okuyup, verileri split ederek, veri veri sql'e giriş yapmak. Fazlasıyla gereksiz işlemler ile zaman kaybı had safhada olacaktır. İşte Bulk Insert sayesinde bunları sadece 30 sn içinde yapmış olacağız.

Diyelim ki txt dosyanız şöyle olsun

Ad Soyad Yaş
Ali;Vural;29
Veli;Bak;33

Kural, iki verinin belli bir formatta ayrılmasıdır. Örneğin burda kolonlar, ';' ile ayrılmış. Bu ',' , '-' , '/' veya bir karakter boşluk ' ' veya bir tab uzaklık '\t' olabilir. Tüm bunlar için yazmamız gereken kod;

bulk insert Table_1

from "Desktop\bank.txt"

with

(

firstrow=2, --ilk satırımız başlıklardan oluştuğundan 2. satırdan başlatırız

rowterminator = '\n', --satır ayıracı

fieldterminator = ';' --iki kolon arası ayıracı

)

Not: Bulk insert yaparken, sqlin kullandığı default fieldterminator bir tab boşluk bırakan '\t' iken, rowterminator için ise alt satıra geçen '\n' dir.

0 yorum: