当前位置:  开发笔记 > 编程语言 > 正文

批量插入问题

如何解决《批量插入问题》经验,为你挑选了1个好方法。

我在客户端有一个CSV文件,我想开发一个C#应用程序,将数据批量插入数据库表中,以最小化日志输出.如果我在客户端使用ADO.NET来调用数据库服务器中的存储过程,我感到很困惑.需要在客户端开发什么样的代码以及需要以存储过程的形式在服务器端实现哪种代码?

但我没有找到谷歌的任何样本.什么是准备使用的样品?:-)

编辑:更多信息:

我在客户端有很多数据,我想导入到数据库,但我不想要所有许多事务日志的开销.出于安全原因,我想在服务器端开发存储过程并从客户端(ADO.NET)调用.我想知道实现这样的目标.需要在服务器端的存储过程中开发什么样的T-SQL,以及如何在客户端有效地调用/填充数据?

如果还有什么不清楚的地方,请随时告诉我.



1> Marc Gravell..:

您可以将CsvReader挂钩到SqlBulkCopy,它可以很好地完成工作...类似于(未经测试):

using (CsvReader reader = new CsvReader(path))
using (SqlBulkCopy bcp = new SqlBulkCopy(CONNECTION_STRING))
{
    bcp.DestinationTableName = "SomeTable";
    bcp.WriteToServer(reader);
}

编辑通常会将批量插入执行到临时表,然后使用常规存储过程将数据移动到实际表中.

推荐阅读
手机用户2402851335
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有