C# 将非常大的CSV文件加载到SQL Server数据库中

C# 将非常大的CSV文件加载到SQL Server数据库中,c#,.net,sql-server,csv,C#,.net,Sql Server,Csv,是否有一种性能良好的方法可以将非常大的CSV文件(大小为几GB)加载到带有.NET的SQL Server 2008数据库中?研究如何使用该类。我将与;i、 e 这使用大容量复制API进行插入,同时使用完全管理(且快速)的IDataReader实现(关键是,它将数据流化,而不是一次加载所有数据)。使用SqlBulkCopy using (var file = new StreamReader(path)) using (var csv = new CsvReader(file, true)) /

是否有一种性能良好的方法可以将非常大的CSV文件(大小为几GB)加载到带有.NET的SQL Server 2008数据库中?

研究如何使用该类。

我将与;i、 e

这使用大容量复制API进行插入,同时使用完全管理(且快速)的IDataReader实现(关键是,它将数据流化,而不是一次加载所有数据)。

使用SqlBulkCopy

using (var file = new StreamReader(path))
using (var csv = new CsvReader(file, true)) // true = has header row
using (var bcp = new SqlBulkCopy(connection)) {
    bcp.DestinationTableName = "TableName";
    bcp.WriteToServer(csv);
}