İlkay Genç

Bulk Insert Nasıl Yapılır? C# Toplu Data Yükleme

Bulk Insert Nedir?

Projemizde milyonlarca dataların aynı anda insert işlemlerinin yavaş olmasının sebebi her bir kayıtı teker teker kayıt etmesidir. Yavaş olması sebebiyle bunun için bir yöntem geliştirilmiştir. Insert edilirken kayıtların tek tek değilde bir tabloymuş gibi olduğu gibi tüm dataları başka bir tabloya insert edilmek için Bulk Insert yöntemi kullanılılır, Nasıl kullanıldığından size bahsedeceğim.

Nasıl Yapılır?

Aşağıdaki koddaki gibi bir method oluşturup bu methoda datalarımızın datatable’a aktarıp datatable üzerinden insert methodunu tetiklememiz yeterli olacaktır.

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

Not: Datatable ve tablodaki Column Name’lerine göre Column isimlerini maplemek gerekmektedir aşağıdaki örnekteki gibi mapleme yapabilirsiniz. Bu şekilde eşleştirdikten sonra işlem tamamdır 🙂 Milyonlarca datayı rahatlıkla insert edebilirsiniz.

sbc.ColumnMappings.Add("baslik1","baslik2");
sbc.ColumnMappings.Add("baslikDataTable","baslikSql");

Yazılım ile ilgili daha fazla bilgi için;
https://ilkaygenc.com.tr/category/yazilim/

Visual Studio;
https://visualstudio.microsoft.com/tr

1 Yorum

Yorum Yap