把dataTable表批量的写入数据库

Posted 男孩IT小菜鸟

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了把dataTable表批量的写入数据库相关的知识,希望对你有一定的参考价值。

 

connectionStr:链接字符串;dataTableName数据库中的表;sourceDataTable dataTable的名称

public static void SqlBulkCopyByDataTable(string connectionStr, string dataTableName, DataTable sourceDataTable, int batchSize = 100000)
{
using (System.Data.SqlClient.SqlConnection connection = new System.Data.SqlClient.SqlConnection(connectionStr))
{
using (System.Data.SqlClient.SqlBulkCopy sqlBulkCopy = new System.Data.SqlClient.SqlBulkCopy(connectionStr, System.Data.SqlClient.SqlBulkCopyOptions.UseInternalTransaction))
{
try
{
sqlBulkCopy.DestinationTableName = dataTableName;
sqlBulkCopy.BatchSize = batchSize;
for (int i = 0; i < sourceDataTable.Columns.Count; i++)
{
sqlBulkCopy.ColumnMappings.Add(sourceDataTable.Columns[i].ColumnName, sourceDataTable.Columns[i].ColumnName);
}
sqlBulkCopy.WriteToServer(sourceDataTable);
}
catch (Exception ex)
{

throw ex;
}
}
}
}

以上是关于把dataTable表批量的写入数据库的主要内容,如果未能解决你的问题,请参考以下文章

DataTable数据批量写入数据库三种方法比较

批量插入数据, 将DataTable里的数据批量写入数据库的方法

C#如何将datatable中的数据批量更新到MYSQL数据库

ODP方式,大批量数据写入ORACLE数据库

如何高效地批量导入数据到SqlServer

如何高效地批量导入数据到SqlServer