sql-server - 多行文件的 SSIS 表达式生成器(执行进程任务)

标签 sql-server ssis expression etl executeprocesstask

我的全局任务是为 WinSCP 进程创建配置文件,它应该是多行的(没有选项)。我尝试使用 CMD/Echo 的表达式生成器来执行此操作。仍然是文件,尝试了所有带有和不带/cflags的选项,这对 SSIS cmd 任务至关重要。我可以选择为每一行分配任务,这是按后备计划进行的,但我想看看我是否可以上来学习如何在单个盒子中完成这项工作。我在下面的例子中我可以使用 + "" 组合创建多行表达式,其中第二个引号在新行上。但它仍然不适合整个任务,看起来 CMD/C 需要单行 ??

下图中显示的所有信息:

enter image description here

这是我现在在系统任务中与 WinSCP 可执行文件一起使用的参数。

open ud12345d264d7b8@magdaflyn.sharefileftp.com
option transfer binary
put c:\SFTP\Magda_Members_20190901.csv   "/Business Intelligence Share/Zbignev/"
close
exit

最佳答案

创建多行表达式

为了在 SSIS 表达式中添加新行,您必须使用回车符和换行符 \r\n:

"/C Echo line11 \r\n /C Echo " + @[User::Var3] + "Line222 \r\n /C Echo Line3 > Config.dat" 

执行多个命令

如果添加新行不起作用,您可以使用 && 运算符使用 CMD 运行多个命令:

解决方法

如果我上面提到的所有方法都不起作用,那么尝试将整个命令保存到一个批处理文件中,然后从执行进程任务中执行这个批处理文件。

关于sql-server - 多行文件的 SSIS 表达式生成器(执行进程任务),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57760685/

相关文章:

sql - SQL Server 中的嵌套 SQL 事务

javascript - 定义内联 javascript 表达式的替代方法

c++ - C++11 标准的哪些规则用于确定 ({ ... }) 中表达式的类型

c - c中(a=a+1)+(a=a+1)+(a=a+1)的结果?

sql - 如何删除 SQL-Server 中的表变量?我应该这样做吗?

sql-server - 如何为不同数据库中的登录名授予访问 SQL Server 数据库邮件程序的权限?

sql-server - 在 SQL Server 中存储季度和年份的最佳方式?

mysql - sql server 作业中的 ssis 包错误

sql-server - 如何确保 SSIS 使用 SSL 将数据传输到 Azure 数据库

sql - 在SSIS中分配字符串变量