在FTP SSIS任务中使用变量时创建不同的错误?

时间:2014-02-11 03:34:58

标签: tsql ftp sql-server-2012 ssis

我正在使用SSIS包来接收.csv文件到我的SQL DB。 我的FTP服务器是 ftp.sql.data.com

我可以在那里找到很多csv文件,但我只需要提取前一天的报告文件,所以我使用变量检查并连接到上一个日期文件。我正在使用下面的

expression 
"//Call_"+
RIGHT("0" + (DT_WSTR, 2)  MONTH(dateadd("d", -1, getdate())), 2)
+RIGHT("0" + (DT_WSTR, 2) DAY(dateadd("d", -2, getdate())), 2)
+(DT_WSTR, 4)  YEAR(dateadd("d", -1, getdate()))+ ".csv"

The output of varaible is     Call_02082014.csv

执行时我遇到错误

[FTP Task] Error: An error occurred with the following error message: "Object reference not set to an instance of an object.".

如果没有使用变速器,如果我直接连接到.csv文件SSIS任务正常工作,但当我使用变速器时,我得到了奇怪的错误。

注意:我不能每天运行ssis包,所以这就是我对其进行了更改的原因,以便它可以检查日期并获取确切的文件..

任何人都可以帮我解决这个问题..

1 个答案:

答案 0 :(得分:0)

我将用执行进程任务替换标准SSIS FTP任务,并调用WinSCP。您可以使用表达式构建命令行来获取所需的文件。