目录

C提供SqlBulkCopy快速写入大量数据到SQLserver数据库

C#提供SqlBulkCopy快速写入大量数据到SQLserver数据库

C#快速写入大量数据进入数据库

SqlBulkCopy实现大量数据写入SQLserver数据库

///connectionString:连接SQLserver数据库字符串

///TableName:目标表名

///dt需要导入的数据(DataTable类)

public void SqlBulkCopyByDatatable(string ConnectionString, string TableName, DataTable dt)
        {
            using (SqlConnection conn = new SqlConnection(connectionString))
            {
                using (SqlBulkCopy sqlbulkcopy = new SqlBulkCopy(connectionString, SqlBulkCopyOptions.UseInternalTransaction))
                {
                    try
                    {
                        sqlbulkcopy.DestinationTableName = TableName;
                        for (int i = 0; i < dt.Columns.Count; i++)
                        {
                            sqlbulkcopy.ColumnMappings.Add(dt.Columns[i].ColumnName, dt.Columns[i].ColumnName);
                        }
                        sqlbulkcopy.WriteToServer(dt);
                    }
                    catch (System.Exception ex)
                    {
                        throw ex;
                    }
                }
            }
        }

DataTable中的列和TableName表的字段要完全一致。不一致时,自行修改ColumnMappings.add方法中的关联。