如何使用SSIS基于表中的文件名在FTP站点之间传输文件?

时间:2013-02-15 13:41:51

标签: sql ftp ssis

我有一个 FTP目录(3000个文件),其中包含例如文件。

1.txt
2.txt
3.txt
4.txt

仅当文件名与SQL数据库中的值匹配时,我才想将2000个文件发送到目标 FTP。假设我们有一个包含列的表:

ID
Code (varchar)

在此表中,它显示如下:

ID     Code
1        1
2        2   
3        8
4        5
5        7

Code列值对应于Source FTP目录中文件名的名称。

例如,Code列的值为1,2我只想将文件 1.txt 2.txt 发送到新的FTP目的地。

如何在 SSIS 作业或 T-SQL 中执行此操作?

我可以设置接收和发送的FTP任务,我可以创建一个表达式来处理这个吗?

FileZilla 能否做到这一点?

1 个答案:

答案 0 :(得分:0)

运行查询以从数据库中选择所有CODE值到Object变量,然后使用ForEach Loop循环访问值并将文件从一个服务器移动到另一个。

在循环中,您可以将CODE值分配给单独的StringInt变量,然后使用表达式生成文件名

一些演练:

http://coldlogics.wordpress.com/2011/04/09/using-ssis-to-dynamically-create-data-files-from-a-full-result-set/

http://www.select-sql.com/mssql/loop-through-ado-recordset-in-ssis.html