您的位置:首页 > 大数据

C# SqlBulkCopy实现大数据插入数据库

2017-03-29 16:22 856 查看
public bool SqlBulkCopyData(DataTable dt)
{
bool flag = true;
if (dt != null && dt.Rows.Count > 0)
{
string connectionString = @"server=.\sql2012;database=Test;uid=sa;pwd=abc";
using (SqlConnection connection = new SqlConnection(connectionString))
{
connection.Open();
SqlTransaction sqlbulkTransaction = connection.BeginTransaction();
//请在插入数据的同时检查约束,如果发生错误调用sqlbulkTransaction事务
SqlBulkCopy copy = new SqlBulkCopy(connection, SqlBulkCopyOptions.CheckConstraints, sqlbulkTransaction);
copy.DestinationTableName = "TestDemo";
foreach (DataColumn dc in dt.Columns)
copy.ColumnMappings.Add(dc.ColumnName, dc.ColumnName);
try
{
copy.WriteToServer(dt);
sqlbulkTransaction.Commit();
}
catch (Exception ex)
{
flag = false;
sqlbulkTransaction.Rollback();
}
finally
{
copy.Close();
connection.Close();
}
}
}
return flag;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息