如何使用SQL批量插入C#在SQL Server 2012中执行更新和插入,并忽略数据库

时间:2016-04-03 18:29:11

标签: c# sql-server database sql-server-2008 sqlbulkcopy

摘要

我需要根据一些输入.txt文件修改数据库的内容,该文件修改数据库中的数千条记录,每个文件都是一个商业交易(每天约50个交易将执行)。

我的应用程序将读取.txt文件并对SQL Server数据库中的数据执行修改。

从数据库导入数据并在内存中执行数据修改 DataTable)的当前应用程序以及稍后使用SqlBulkCopy推送回数据库之后的应用程序到SQL Server 2008数据库表。

有没有人知道在没有主键的情况下防止重复行时使用SqlBulkCopy的方法?或者以不同的方式做任何建议?

已针对性能问题实施和删除。

在此之前我使用的SQL语句是自动生成的,用于数据修改,但它确实很慢,所以我想把完整的数据库表加载到DataTable(C#)内存执行查找和修改并接受更改记忆......

另一种实施方法,如果我错了,请给我一些关于我的新方法的反馈,请帮我吧。

步骤

  1. 将数据库表加载到C#DataTable(使用DataTable填充SqlDataAdapter
  2. 内存中DataTable后,对其执行数据修改
  3. 再次加载数据库中的基表并在内存中进行比较准备 不存在的记录,最后执行插入。
  4. 使用Bulk insert
  5. DataTable推送至内存

    我不能拥有主键!!!!

    请为我的工作流程提供任何建议。以及我是否正确处理我的问题?。

0 个答案:

没有答案