我想添加将大量CSV文件导入数据库中的表的功能。我已经构建了一个SSIS包,但我只是想确保这是正确的方法。
文本文件是数百万行,包含50列。它们很多时候都没有在记事本或记事本++中打开。 SSIS包处理它们没有问题,并导入所有内容。 SSIS是解决这个问题的正确方法吗?我只需要将文件位置参数传递给作业并执行它吗?我有一种更容易忽视的方式吗?
答案 0 :(得分:2)
文本文件是数百万行,有50列
小。为何选择SSIS包?
他们没有在记事本或记事本++中打开
因为它们都打开它们 - 没有必要打开它们并将它们全部加载到内存中,正确的应用程序可以逐行读取它们。
SSIS是解决这个问题的正确方法吗?
没有。因为标题是:使用c#winforms
将大量数据从文本文件导入到sql中由于Winforms可以有效地做到这一点 - 我将大约100.000行插入到数据库中 - 在C#中使用quit eeasy编码(除了一些页面和一天让sqlbulkcopy正常工作)并且你没有说任何转换,SSIS只是是另一种不需要的技术并且使事情变得复杂(如:更多要安装,或者在服务器上有一个包装,但随后找到服务器可以到达的文件的位置等。
我全力以赴SSIS,如果你拥有更大的SSIS基础设施或进行大量处理等,它在更大的背景下具有建筑意义 - 是的。但问题是,没有其他原因 - 绝对不是。
哎呀,由于SQL Server具有一些CSV处理功能,因此很有可能将一个命令中的所有内容加载到SQL服务器中: