SQLBulkCopy

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Data.SqlClient;
using System.Data;

public class SQLBulkCopy
{
private DateTime _startTime;
private string Result;
public string SQLBulkCopy(string DestinationConnectionString, DataTable SourceData, string DestinationTableName)
{
SqlBulkCopy sbc = new SqlBulkCopy(DestinationConnectionString, SqlBulkCopyOptions.UseInternalTransaction);
sbc.BulkCopyTimeout = 5000;
sbc.SqlRowsCopied += new SqlRowsCopiedEventHandler(OnRowsCopied);
sbc.NotifyAfter = SourceData.Rows.Count;
try
{
_startTime = DateTime.Now;
sbc.DestinationTableName = DestinationTableName.Trim();
sbc.WriteToServer(SourceData);
}
catch (Exception ex)
{
Result = ex.Message.ToString();
}
return Result;
}
private void OnRowsCopied(object sender, SqlRowsCopiedEventArgs args)
{
Result += args.RowsCopied.ToString() + " rows are copied<Br>";
TimeSpan copyTime = DateTime.Now - _startTime;
Result += "Copy Time:" + copyTime.Seconds.ToString() + "." + copyTime.Milliseconds.ToString() + " seconds";
}
}

posted @ 2015-11-24 13:05  lqqqiaoqiao  阅读(361)  评论(0编辑  收藏  举报