SSIS - 4.使用表达式任务和脚本任务实现更改变量和输出变量值

  一、脚本任务

  脚本任务是SSIS包中功能很强大的组件,尤其当内置的任务无法实现我们需要的功能的时候,我们都可以使用脚本任务来实现。脚本任务使用VSTA(Microsoft Visual Studio Tools for Applications)作为开发和执行环境,所以在执行包时一定要先安装VSTA。

  使用脚本任务更改自定义变量V1,V2的值分别为3和5,输出系统变量和自定义变量的值,具体步骤:

  1.打开SSIS包,从SSIS 工具箱中将脚本任务拖放到包中,右键脚本任务->选择“编辑”

SSIS Script Task Edit

  2.此时,打开脚本任务编辑器如下:

    1)脚本语言:可以选择VB或者C#

    2)入口点:这是脚本开发的执行方法,默认是Main

     3)只读变量:指定脚本要用到的只读变量

    4)读写变量:指定脚本要用到的读/写变量

  Script Task Editor Script Tab

  3.选择“Microsoft Visual C# 2012”作为脚本语言,单击只读变量最后的...按钮打开"选择变量"窗口如下,我们选择图中4个变量然后单击OK,同样的,我们打开读写变量最后的"..."按钮选择之前定义的变量V1,V2,V3,然后单击OK.

  SSIS Select Variables

       4.单击常规页修改下任务名称和描述如下:

   Change Script Task Name and Description

  5.在表达式页,可以使用表达式结果修改任何属性的值.上面设置完成后,编辑器如下:

  Script Task Editor After Setting Variables

  6.单击"编辑脚本..."按钮打开VSTA,添加下面的Code后单击OK保存设置.

  Script Task code to output variables

  7.使用下面4种方式来执行包.

     1)单击菜单中的"调试"->"开始调试"

     2)按F5

     3)但是绿色三角"Start"按钮

     4)在解决方案资源管理器中右键包,之后选择"执行包"

Script Task Running Result

   8.代码说明:

     1)在C#代码中,变量可以用这种格式调用:Dts.Variable[" "].Value

               2)95~98行:为了输出系统变量

       3)101~102行:修改自定义变量V1,V2的值

       4)105行:因为V3是通过表达式使用V1和V2的值计算出来的,因为V1和V2在101~102行被修改了,所以这导致V3不稳定,无法输出,只有等这个脚本任务结束之后,V3才可用.所以这行被注释掉了.

 二、表达式任务

     我们可以使用表达式任务解决上面V3无法在脚本任务中输出的问题。我们先使用表达式任务改变V1,V2 的值,再使用脚本任务输出,具体步骤如下:

   1.从SSIS 工具箱中拖一个表达式组件放到脚本任务的上方,如下:

    Add an Expression Task

    2.在属性窗口中更改表达式任务的组件名称为“Change V1”

    3.右键表达式任务->选择“编辑...”打开编辑表达式窗口如下:

    SSIS Expression Builder Window

      4.此时,我们可以拖放变量,函数和操作运算到表达式编辑区域来创建表达式。这里,我们把变量V1 拖放到表达式编辑区,在后面填写"=abc",然后单击“计算表达式”按钮,之后会出现下面的错误提示。

  SSIS Evaluate Expression Error Message

   5.更改“abc”为2,然后单击“计算表达式”按钮,可以计算出值“3”,之后单击OK。

  SSIS Evaluate Expression Result

          6.重复上面的步骤更改变量V2的值为“5”,或者,也可以直接复制上面已经完成的表达式任务,对其名称和表达式进行修改,改完之后,如下图:

  SSIS Two Expression Tasks

         7.选中最上面的"Change V1"的表达式任务,可以看到下面有个蓝色的箭头,将箭头拖拉到下一个表达式任务"Change V2"上,之后再从"Change V2"上拉一个箭头到下面的脚本任务上。

  SSIS add green arrows between tasks

  8.编辑脚本任务,将V1,V2,V3变量改为只读变量,修改代码如下:

  Change Script Task C# Code

  9.保存脚本后,执行包,就可以输出系统变量及V1,V2,V3的值了。

SSIS Output Variable V3 Running Result

   10.最后,单击“OK”或“停止调试”或按“F5”来关闭包的执行。

转载于:https://www.cnblogs.com/MR-zhang-01/p/9284694.html

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值