如何将大块数据插入db?

时间:2013-08-09 08:07:41

标签: sql asp.net-mvc-3 nopcommerce

我正在使用nopcommercearvixe托管。

我有一个xml文件,其中包含我网站的所有产品(约26000条记录)。我写了一个插件,允许我使用sql脚本添加记录。

问题是: 请求时间结束,db中只显示前500 - 1000条记录。你会推荐什么?也许我应该将我的代码移到不同的地方(不是插件)?

1 个答案:

答案 0 :(得分:2)

尝试SqlBulkCopy

using (SqlConnection destinationConnection = new SqlConnection(connectionString))
{
    destinationConnection.Open();

    using (SqlBulkCopy bulkCopy = new SqlBulkCopy(destinationConnection))
    {
        bulkCopy.DestinationTableName = "dbo.BulkCopyDemoMatchingColumns";
        try
        {
            // The reader is a SqlDataReader which has all 26000 records
            bulkCopy.WriteToServer(reader);
        }
        catch (Exception ex)
        {
            Console.WriteLine(ex.Message);
        }
        finally
        {
            reader.Close();
        }
    }
}