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

Ssis 如何构建CSV和SQL之间的数据传输?,ssis,csv,Ssis,Csv,我正在构建一系列SSIS软件包,这些软件包的设计目标如下: 1.)将数千行从CSV文件导入一系列SQL 2005表中 2.)将数千行导出为一系列CSV文件 在我开始之前,我有一些担心: a、 )导入csv文件之前,我首先要检查导入的文件是否未打开或未被其他应用程序写入。在SSIS中有什么方法可以做到这一点吗 b、 )由于我将通过VPN传输数据,我担心首先从CSV文件传输数据,然后转换sql表中的数据所需的时间。这不仅仅是直接导入—我必须将csv行中的一些列转换为SQL表的有效值,并根据数据库中的

我正在构建一系列SSIS软件包,这些软件包的设计目标如下:

1.)将数千行从CSV文件导入一系列SQL 2005表中 2.)将数千行导出为一系列CSV文件

在我开始之前,我有一些担心:

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

b、 )由于我将通过VPN传输数据,我担心首先从CSV文件传输数据,然后转换sql表中的数据所需的时间。这不仅仅是直接导入—我必须将csv行中的一些列转换为SQL表的有效值,并根据数据库中的现有数据检查它们是插入还是更新。我是否应该首先考虑将csv数据传输到临时表中,然后考虑将进一步的转换写入我的主表中(我认为这可能比动态尝试这两个步骤更健壮。)


非常感谢您的建议

a。如果您的文件正在与脚本块一起使用,则可以签入controlflow

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