Sql 使用执行流程任务将变量值传递到.bat文件

Sql 使用执行流程任务将变量值传递到.bat文件,sql,sql-server,ssis,Sql,Sql Server,Ssis,我有一个ssis包,它有一个foreach循环容器。我试图使用executeprocesstask在foreach循环容器中使用.bat文件。如何配置Execute Process任务以将值传递到.bat文件中 以下是我的顺序: 执行sql任务(将我的变量传递到foreach)--->foreach循环容器-->执行流程任务(我需要有关可执行文件、参数的帮助…) 在SSIS包中创建2个变量 第一个将包含文件名和整个路径 另一个变量的属性“Evaluate As Expression”将设置为TR

我有一个ssis包,它有一个foreach循环容器。我试图使用executeprocesstask在foreach循环容器中使用.bat文件。如何配置Execute Process任务以将值传递到.bat文件中

以下是我的顺序:
执行sql任务(将我的变量传递到foreach)--->foreach循环容器-->执行流程任务(我需要有关可执行文件、参数的帮助…)

  • 在SSIS包中创建2个变量
  • 第一个将包含文件名和整个路径
  • 另一个变量的属性“Evaluate As Expression”将设置为TRUE,并将其表达式设置为以下值- “本地:”+@[System::FilePathVariable]+“-d HDMS:/To_HDMS/”
一旦第二个变量在SSIS包中被引用,它的表达式(上面写的那个)就会执行

假设FilePathVariable的值为“D:\Folder1\Folder2\FileName”;因此,计算表达式后的第二个变量的值将是“local:D:\Folder1\Folder2\FileName-D HDMS:/To_HDMS/”

您需要将其作为参数传递给批处理文件。这将是我在前面的文章中解释的

在批处理文件中,将命令设置为-

C: cd\程序文件\WS\u FTP Pro\ wsftppro-s%1


如果这对您不起作用,请尝试告诉我们。

谢谢您的反馈。在执行流程任务中,所有这些将在哪里?这个变量将放在哪里?论点我也希望能有一个屏幕截图来演示。