批量插入处理
1.sqlserver批量插入
SqlConnection conn1 = new SqlConnection(strConn);
SqlBulkCopy SqlbulkCopy = new SqlBulkCopy(conn1);
2.Oracle批量插入
OracleConnection conn2 = new OracleConnection(strConn);
OracleBulkCopy OraclebulkCopy = new OracleBulkCopy(conn2);
3.MySql批量插入
MySqlConnection conn3 = new MySqlConnection(strConn);
MySqlBulkCopy MySqlbulkCopy = new MySqlBulkCopy(conn3);
using Dm;
using System;
using System.Data;
using System.Linq;
using MySqlConnector;
using Microsoft.Data.SqlClient;
using Oracle.ManagedDataAccess.Client;
/// <summary>
/// BulkCopy批量插入
/// </summary>
/// <param name="tableName">要插入的表名</param>
/// <param name="dataTable">数据源</param>
public static void BulkCopy(string tableName, DataTable dataTable)
{
using (DmConnection conn = new DmConnection(strConn))
{
conn.Open();
using (DmBulkCopy bulkCopy = new DmBulkCopy(conn))
{
try
{
//插入到数据库的目标表:表名
bulkCopy.DestinationTableName = tableName;
for (int i = 0; i < dataTable.Columns.Count; i++)
{
//内存表的字段 对应数据库表的字段
bulkCopy.ColumnMappings.Add(dataTable.Columns[i].ColumnName, dataTable.Columns[i].ColumnName);
}
bulkCopy.WriteToServer(dataTable);
bulkCopy.Close();
}
catch (Exception ex)
{
log.Debug(ex);
}
finally
{
conn.Close();
}
}
}
}