如何构建CSV和SQL之间的数据传输?

时间:2008-11-11 09:15:18

标签: ssis csv

我正在构建一系列SSIS包,它们将用于执行以下操作:

1。)将CSV文件中的几千行导入​​一系列SQL 2005表 2.)将几千行导出为一系列CSV文件

在我潜入之前,我有一些担忧:

a。)在导入我的csv文件之前,我首先要检查我导入的文件是否未打开或被其他应用程序写入。我有什么方法可以在SSIS中做到这一点吗?

b。)由于我要通过VPN传输数据,我担心它将花费的时间,首先从CSV文件传输数据,然后再转换我的SQL中的数据表。这不仅仅是一个直接的导入 - 我必须将csv行中的一些列转换为我的SQL表的有效值,并根据我的数据库中的现有数据检查它们是否是插入或更新。我应该首先看一下将csv数据传输到临时表中,然后看看在我的主表中编写进一步的转换(我认为这可能比在运行中尝试两个步骤更强大。)

非常感谢您的建议!

1 个答案:

答案 0 :(得分:1)

一个。如果您的文件与脚本块一起使用,您可以检入控制流。

湾首先将文件复制到本地区域,然后从该位置导入文件。使用 一个staging db,用于将文件导入rawtable然后转换并决定在插入这些表之后将行插入table4update或table4insert,您可以使用单个sql语句(controlflow)插入/更新目标表。 别忘了分批思考。在阅读之前截断您的临时表。