我尝试在SSIS中使用“表达式任务”来简单地初始化/设置两个变量。这个看似简单的任务让我抓狂,因为我不知道如何将语句分开:
@[User::testVariable]="1"
@[User::testVar2]=3这会导致解析错误,我已经阅读了相当多的文档,但都无济于事。语句是如何分隔的,我希望我不必使用多个表达式任务,因为我有很多变量……谢谢
发布于 2015-06-13 01:26:17
一次只能设置一个变量:
要在运行时更改变量的值,您需要一个表达式或脚本任务。表达式不是很灵活,脚本任务需要.Net知识。这就是为什么微软在SSIS2012中引入了表达式任务。它使您能够在运行时设置一个变量的值。的缺点是它不适用于2008年,并且您一次只能设置一个变量。
http://microsoft-ssis.blogspot.com/2013/07/custom-ssis-component-multiple.html
您必须下载链接上提供的自定义Multiple Expressions Task组件,或者为每个变量执行一个Expression Task。
发布于 2017-04-21 22:17:11
我最近开始做的一些事情,可能对人们有帮助:
我已经意识到,通常可以使用执行SQL任务来完成工作,而不是麻烦地设置多个表达式任务或脚本任务。根据您所连接的数据库,所需的SQL可能会略有不同,我的示例基于SQL Server。
我的示例基于从参数初始化变量,但这可以针对不同的情况进行调整。
步骤1
创建接受中的参数的查询-这些是需要从中获取值的参数或变量。当然,您可以使用它将变量初始化为0,或者对一些参数或变量进行一些算术运算。
将单行选项用于结果集选项。

步骤2
像往常一样设置参数映射。

步骤3
设置您的结果集。

我猜这样做的缺点是您要连接到一个数据库来执行此操作-但是如果您安装了SSIS,那么在该服务器上就有一个SQL Server实例-所以我不确定这有多大的缺点。
我发现这比设置脚本任务要少得多,但是YMMV。
https://stackoverflow.com/questions/30808190
复制相似问题