23 Aralık 2009 Çarşamba

Sql Server da Bulk Insert nedir?

Kısacası metin dosyalarının SQL Server'a aktarmanın en kolay yoludur. Bunu yapmanız için bilmeniz gereken ufak tefek ayrıntıdan başka bir şey yok.

Sıralamak gerekirse,

-Metin dosyasının uzantısını
-Kolonlar birbirinden hangi karakterle ayrılıyor
-Satır sonları nasıl belirlenmiş bilmemiz yeterli.

Bulk Insert komutu ise

BULK INSERT TableName FROM  'Path(DosyaYolu)' WITH (FIELDTEMINATOR = ',')


FIELDTERMINATOR - ile metin dosyamızda bulunan kayıtların kolonlara ayrılmak istenildiğinde hangi karakterle ayırma işlemi yapılacak olduğunu belirtliğimiz yerdir.

Ufak bir örnek yaparak deneme yapacak olursak bunun için hemen bir tablo oluşturalım.

CREATE TABLE User
(
id int,
Name nvarchar(50),
LastName  nvarchar(50),
Age int,
City nvarchar(50),
)

Sql tablomuzuda oluşturduk ya metin dosyamız??? Onuda basit bir şekilde yazıyorum hemen.
Mesela buda C klasörünün altında Users.txt metin dosyamız olsun.

1$Ali$Alioğlu$18$Istanbul
2$Veli$Velioğlu$19$Bursa
3$Ahmet$Ahmetoğlu$20$malatya
4$Mehmet$Mehmetoğlu$21$Edirne


BULK INSERT User FROM  'C:\Users.txt' WITH (FIELDTEMINATOR = '$')


--Dolar ($) kullandım. Çünkü text içerisinde kullanılabilecek karakterden uzak durdum. İşimi garantiye aldım.


Bu şekilde hdd mizde bulunan bir txt dosyasını SQL de oluşturduğumuz bir tabloya taşımız bulunuyoruz.
Ama burada önemli nokta taşıma esnasında türkçe karakter sorunu yaşıyor olacağımızdır. Bunun çözümüde çok basit Bulk Insert komutumuza CODEPAGE = '1254' eklememiz yeterli olucak.

Şu şekilde kullanıcaz yani
BULK INSERT User FROM  'C:\Users.txt' WITH (FIELDTEMINATOR = '$' , CODEPAGE = '1254' )


Bu işlemleri sırasıyla yaptık ama birden karşımıza

You do not have permission to use the bulk load statement.


Bu durum Bulk Insert yetkinizin olmasından kaynaklanıyor. sysadmin veya bulkadmin rollerinize sahip olursanız bu hatayıda basitçe geçiceksiniz.






5 yorum:

  1. teşekkür ederiz

    YanıtlaSil
    Yanıtlar
    1. Emrah Eroğlu: Sql Server Da Bulk Insert Nedir? >>>>> Download Now

      >>>>> Download Full

      Emrah Eroğlu: Sql Server Da Bulk Insert Nedir? >>>>> Download LINK

      >>>>> Download Now

      Emrah Eroğlu: Sql Server Da Bulk Insert Nedir? >>>>> Download Full

      >>>>> Download LINK L6

      Sil
  2. Nice article, thanks buddy.

    YanıtlaSil
  3. Emrah Eroğlu: Sql Server Da Bulk Insert Nedir? >>>>> Download Now

    >>>>> Download Full

    Emrah Eroğlu: Sql Server Da Bulk Insert Nedir? >>>>> Download LINK

    >>>>> Download Now

    Emrah Eroğlu: Sql Server Da Bulk Insert Nedir? >>>>> Download Full

    >>>>> Download LINK

    YanıtlaSil