首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >SSIS表达式设置两个变量

SSIS表达式设置两个变量
EN

Stack Overflow用户
提问于 2015-06-13 00:41:19
回答 2查看 26.9K关注 0票数 13

我尝试在SSIS中使用“表达式任务”来简单地初始化/设置两个变量。这个看似简单的任务让我抓狂,因为我不知道如何将语句分开:

代码语言:javascript
复制
@[User::testVariable]="1"  
@[User::testVar2]=3

这会导致解析错误,我已经阅读了相当多的文档,但都无济于事。语句是如何分隔的,我希望我不必使用多个表达式任务,因为我有很多变量……谢谢

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 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

票数 23
EN

Stack Overflow用户

发布于 2017-04-21 22:17:11

我最近开始做的一些事情,可能对人们有帮助:

我已经意识到,通常可以使用执行SQL任务来完成工作,而不是麻烦地设置多个表达式任务或脚本任务。根据您所连接的数据库,所需的SQL可能会略有不同,我的示例基于SQL Server。

我的示例基于从参数初始化变量,但这可以针对不同的情况进行调整。

步骤1

创建接受中的参数的查询-这些是需要从中获取值的参数或变量。当然,您可以使用它将变量初始化为0,或者对一些参数或变量进行一些算术运算。

单行选项用于结果集选项。

步骤2

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

步骤3

设置您的结果集。

我猜这样做的缺点是您要连接到一个数据库来执行此操作-但是如果您安装了SSIS,那么在该服务器上就有一个SQL Server实例-所以我不确定这有多大的缺点。

我发现这比设置脚本任务要少得多,但是YMMV。

票数 11
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/30808190

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档