sql server:
#region sqlserver 大批量数据插入
/// <summary>
/// sqlserver 大批量数据插入
/// </summary>
/// <param name="dt"></param>
/// <param name="tablename">表名</param>
/// <param name="columns">列名</param>
public void BulkInsertForDataTable(DataTable dt, string tablename, string[] columns)
{
using (SqlConnection connection = new SqlConnection(constr_his))
{
connection.Open();
using (SqlBulkCopy bulkCopy = new SqlBulkCopy(connection))
{
try
{
bulkCopy.DestinationTableName = tablename;//要插入的表的表明
//映射字段名 DataTable列名 ,数据库 对应的列名
foreach (string column in columns)
{
bulkCopy.ColumnMappings.Add(column, column);
}
bulkCopy.WriteToServer(dt);
}
catch (Exception ex)
{
//throw new Exception(ex.Message);
}
finally
{
// Close the SqlDataReader. The SqlBulkCopy
// object is automatically closed at the end
// of the using block.
}
}
}
}
#endregion
oracle:
dt2 = new DataTable();
dt = 查询出来的数据;
using (OracleConnection con_qzj = new OracleConnection(constr_qzj))
{
da_qzj = new OracleDataAdapter("", con_qzj);
da_qzj.SelectCommand.CommandText = "select LOCAL_ID from DI_MPI_REGISTERINFO where 1=2";
Oraclecmd = new OracleCommandBuilder(da_qzj);
da_qzj.Fill(dt2);
for (int j = 0; j < dt.Rows.Count; j++)
{
dt2.Rows.Add(dt.Rows[j].ItemArray);
}
da_qzj.Update(dt2);
}