【问题标题】:Load very big CSV-Files into s SQL-Server database将非常大的 CSV 文件加载到 SQL Server 数据库中
【发布时间】:2011-10-17 09:08:01
【问题描述】:

有没有一种高效的方法可以将非常大的 CSV 文件(大小为几 GB)加载到带有 .NET 的 SQL-Server 2008 数据库中?

【问题讨论】:

    标签: c# .net sql-server csv


    【解决方案1】:

    我会将this CSV readerSqlBulkCopy 结合起来;即

    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);
    }
    

    这使用批量复制 API 进行插入,同时使用完全托管(且快速)IDataReader 实现(至关重要的是,它流式传输数据,而不是在一次)。

    【讨论】:

      【解决方案2】:

      研究使用SQLBulkCopy 类。

      【讨论】:

        【解决方案3】:
        猜你喜欢
        • 1970-01-01
        • 2017-09-05
        • 2017-07-08
        • 1970-01-01
        • 2016-04-17
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2013-01-19
        相关资源
        最近更新 更多