我有for循环任务,它将从源文件下载文件并上传到sql文件中。我在SSIS中有一个变量,如果某个列是Y或N,它将包含。我的问题是如何在我的for循环容器中使用该变量?逻辑是我的ssis将下载并上传文件,直到某个列设置为Y.这是我的容器内的工具箱。
SQL任务(截断表) - 下载文件 - >在sql表中上传文件 - > SQL任务(将查询列是Y还是N并将其传递给变量)
我需要循环上面的工具箱,直到我在列中得到Y.
答案 0 :(得分:0)
根据您在上面的解释中所说的内容,这是我的猜测:
您正在下拉的文件中包含可能值为Y或N的列。在初始拉动中,您只想将文件拉下并将其加载到表格中。然后,您将读取该列的表中的值,并将该值分配给变量。然后,根据您想要重新循环的变量值来获取下一个文件或同一个文件?
但是,据我所知:
假设您的变量名称为CheckFlag
,将其设置为字符串并将其值为N或Y,不重要,因为您将使用您的循环内部重新设置变量的值无论如何都要执行SQL任务。
initExpression: @CheckFlag == @CheckFlag
(是的,让我们开始循环)
evalExpression: @CheckFlag == "Y"
(循环直到变量值为Y)
无需使用assignExpression
,因为您已使用“执行SQL任务”将值分配给变量。