CSV文件到SQL表增量

时间:2017-09-05 13:52:22

标签: sql csv reporting-services bulkinsert

我有一个创建CSV文件的外部应用程序。我想自动将这些文件写入SQL,但作为增量。

我正在研究批量插入,但我认为这不是增量的。 CSV文件可能会变得非常庞大,因此增量将是最佳选择。

谢谢。

2 个答案:

答案 0 :(得分:0)

处理此问题的常用方法是将整个CSV批量插入到临时表中,然后使用存储过程将临时表中的数据增量合并到最终目标表中。

如果您仍然担心CSV文件太大,下一步是编写一个读取CSV的程序,并生成一个截断的文件,其中只包含您要导入的新/已更改数据,以及然后批量插入较小的CSV而不是原始的。

答案 1 :(得分:0)

  • 创建一个文本或csv文件,其中包含要在表中加载的所有csv文件的名称。如果不重复,您可以包含文件路径。您可以使用shell脚本执行此操作。

  • 然后创建一个临时表,加载需要插入的所有csv文件名。使用程序。

  • 使用上面的临时表,按行数循环并将其加载到目标表(不在循环中截断)。如果需要截断,则在循环之前执行。如果需要任何转换,您可以将数据加载到分段(使用转换过程)

我们也有同样的问题,我们正在使用这种方法。最近,我们转而使用Python来完成所有任务并将数据加载到临时表中。转换后,它最终被加载到目标表中。