İlginizi Çekebilir
  1. Ana Sayfa
  2. C Sharp

C# SQL Bulk Insert Nasıl Yapılır?

C# SQL Bulk Insert Nasıl Yapılır?
+ - 0

C# SQL Bulk Insert Nasıl Yapılır?, yazım ile c# eğitim setime devam ediyorum. Bu ders, eğitim setime eklediğim 93. ders oluyor. Bu dersimizde c# projelerimizde sql bulk insert ‘i nasıl yapacağımızı göreceğiz.

NOT: Bu ders sadece,  C# Datatable Bulk Insert işlemi içermektedir ve sadece C# kodları ile yapılmıştır. 

 

C# SQL Bulk Insert Nasıl Yapılır?

Bulk Insert into SQL / Bulk Insert into SQL from C#

Bulk Insert, SQL 2008 versiyonundan sonra kullanılabilmektedir.

Bu sql bulk insert’i önce bir açıklayalım. SQL Bulk insert ile verileri satır satır değil tablo olarak ekleriz. Yani bir veri grubunu tek seferde bir tabloya basacağız. Bu derste veri grubu olarak datatable kullanacağız.

C# Datatable Bulk Insert / Bulk Insert from a C# DataTable

Şimdi burada sql bağlantı kodlarını vermeye gerek duymuyorum. Tüm derslerimi incelediyseniz, sql işlemleri için hazırlanmış bir bağlantı class’ı kullandığımı biliyorsunuzdur. Bu dersimizin içeriği olan bulk insert işlemini de bu class içerisine aldım ve oradan kullanacağım. Bu sebeple vereceğim kodlarda bu class’tan alınan kodlar olacak.

 

        public string BulkInsert(DataTable dt , string KaydedilecekTAbloAdı)
        {
            using (SqlBulkCopy bulkCopy = new SqlBulkCopy(Connection))
            {
                bulkCopy.DestinationTableName = KaydedilecekTAbloAdı;
                try
                {
                    bulkCopy.WriteToServer(dt);
                    return ("Aktarım Tamamlandı");
                }
                catch (Exception ex)
                {
                    return (ex.Message);
                }
            }
        }

Kodlarımız hepsi yukarıda gördüğünüz kadardır. Burada işi yapan kısım, SqlBulkCopy.WriteToServer Method kısmıdır.

Metodumuz iki parametre alıyor. İlk olarak verilerin yer aldığı datatable ve verilerin aktarılacağı tablonun adı. Hepsi bu kadar. Burada dikkat etmeniz gereken kısım şudur. Tablonuzdaki kolonların veri tipleri ile datatable’deki kolonların veri tipleri aynı olma zorundadır. Kolon sayısı konusunda emin değilim ama verilerin aktarılacağı tablodaki kolon sayısının fazla olması yada datatabledeki kolonların sayısının fazla olması bir sorun çıkaracağını düşünmüyorum. Çünkü verilerin aktarılacağı bir kolon yok ise veriler aktarılmaz.

Bunu denemedim. Zaten mantık olarak, tablomuzu açarken bunlara dikkat ederek açarsınız diye düşünüyorum. Bir şekilde sabit değilse de siz testlerinizi yaparsınız.

Tablo adımızı ve ve datableyi gönderdikten sonra, işlemi yapmaya başlayacak. Bir hata çıkarsa da hatayı göstersin diye de try catch kontrolü koyduk.

Ek olarak işlem için açık bir bağlantı gerektiriyor. Kodlarımız zaten bağlantı class’ında olduğundan connection nesnemizi bağlantı için direk olarak verdik.


C# SQL Bulk Insert Nasıl Yapılır? yazımızda bu kadar dostlar. Diğer derslerimizde görüşmek üzere.

C Sharp Eğitim Seti ve ERP Programlama eğitimi sayfasına gitmek için tıklayınız.

Sağlıcakla ve takipte kalın. ?

Bu yazıya tepkiniz ne oldu?

Yazar Hakkında

Lise Ağ Sistemleri ve Yönetimi bölümü, üniversite Bilgisayar Programcılığı bölümü Ön Lisans, Yönetim Bilişim Sistemleri Lisans öğrenimi aldım. Askerlik görevimi tamamladım. Uzmanlık alanım; C# ve SQL Programlama dilleri ile müşteri odaklı, kullanıcı dostu ERP ve CRM gibi sistemleri geliştirmektir. Ayrıca şuanda PHP ve MYSQL alanında projeler geliştirmekteyim. C++, Phyton, Xamarin, MVC gibi konuları öğrenmek ve kendimi geliştirme çabası içerisindeyim. Discord için: https://discord.gg/FBxZeHu9

Değerli yorumlarınızı bekliyorum. :)