.Net - Inserting large number of rows programatically into an SQL server database through SqlBulkCopy

by Vishal 10. July 2008 01:50

Often there is a need to send a very large number of rows from business code to the database. There are a number of ways to do it:

  1. Call insert statements a row at a time for the entire data
  2. Serialize the data into some flat format (CSV or XML), send it to a stored procedure as a large string, unserialize the string in the stored procedure TSQL and do an insert.
  3. Save the data into a flat file format on the database server. Run a DTS package or like to read up the file.
  4. SqlBulkCopy!

Every since I discovered SqlBulkCopy, I’ve loved it. MS SQL Server includes a popular command called bcp for moving data from one table to another on one server or between servers. The SqlBulkCopy is a class that provides similar functionality.

SqlBulkCopy is way faster than multiple insert statements, serializing/ deserializing the data, or saving the data out to a file system and running an import.  Its also has no limit on the data you can send across and very efficient in the way it handles inserts.

This is how simple it is to use it. In the example we have a function that writes copies are DataTable into a MS SQL database table called “tblFooBar”.

using System.Data.SqlClient;

Function WriteToDB(DataTable dt)

{

SqlBulkCopy sqlBC = new SqlBulkCopy(dbconnectionstring);

sqlBC.BatchSize = 25000;

sqlBC.BulkCopyTimeout = 60;

sqlBC.DestinationTableName = “dbo.tblFooBar” ;

sqlBC.WriteToServer(dt);

}

The MSDN link is:

http://msdn2.microsoft.com/en-us/library/system.data.sqlclient.sqlbulkcopy.aspx

Tags: , ,

Legacy | SQL | .NET

Add comment




  Country flag
biuquote
  • Comment
  • Preview
Loading


Repliques Montres haute qualite vous aider a economiser beaucoup tout en appreciant la valeur du nom de marque. Vous voulez avoir cette montre luxe haut de gamme suisses sur votre main, mais replica uhren l'achat d'une voiture semble une meilleure option. Oui, c'est la realite. Ces montres symbole de statut social co?tent quelque chose replicas de relojes qui est au-dela pour permettre pour une personne normale. Mais ne desesperez hublot replique montres pas si vous ne pouvez pas vous permettre d'acheter ces montres de luxe. Vous avez une belle occasion d'acheter des montres de prestige nom Replique de la marque. Certaines personnes aiment l'aspect d'un veritable montres au poignet, ou replique rolex montres voulez juste nombreuses montres de marque pour correspondre a leur habillement, mais evitez patek philippe replica orologi de depenser des milliers de dollars que une vraie montre mai cots, ils se tournent vers les replique montre montres bonne replique. Si vous ne voulez pas acheter des montres de veritables montres de haute qualite puis de replicas sont votre choix ideal.