一、脚本任务

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

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

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

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

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

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

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

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

  

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

  

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

  

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

  

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

  

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

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

    2)按F5

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

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

   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 工具箱中拖一个表达式组件放到脚本任务的上方,如下:

    

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

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

    

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

  

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

  

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

  

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

  

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

  

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

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

SSIS - 4.使用表达式任务和脚本任务实现更改变量和输出变量值的更多相关文章

  1. 如何在SSIS的脚本组件中访问变量

    原文:如何在SSIS的脚本组件中访问变量 这是一个小问题,我们在SSIS的设计中很多地方都会用到变量,我习惯性地将"变量"和"表达式"称为SSIS的灵魂,虽然不 ...

  2. Shell脚本获得变量值作为新变量一部分的值

    最近使用shell写一个发布脚本时,由于shell编程是边学便用的缘故,经验不足,中间遇到一个问题,一个变量的值作为一个新变量的一部分,而我要根据变量获得新变量的值,以前没有遇到过.网络搜索一番,最后 ...

  3. Ant 脚本打印系统属性变量、ant内置属性

    Ant 脚本打印系统属性变量.ant内置属性 作用 编写ant脚本的时候,经常会引用到系统属性,本脚本用于打印系统常用属性(System.getProperties)与环境变量(Environment ...

  4. ssis 到别的表查找临时变量值

    原文:ssis 到别的表查找临时变量值 etl过程过,往一个数据库表插入数据,插入的值往往需要到另外一个数据库读取.例如下面的客户跟踪,需要一个"项目ID",这个ID需要到另一个数 ...

  5. loadrunner 脚本开发-int型变量和字符串的相互转换

    脚本开发-int型变量和字符串的相互转换 by:授客 QQ:1033553122 字符串转化为int型变量 Action2() { int j = 0; j = atoi("12345&qu ...

  6. 在python脚本中设置环境变量,并运行相关应用

    1. 问题 在自动化应用的时候 ,有时候环境变量与运行需要不一致.这时候有两种选择: 改变节点环境变量,使得其和运行需求保持一致: 在自动化脚本中设置环境变量,其范围只在脚本运行环境中有效. 显然,当 ...

  7. shell脚本中特定符合变量的含义

    shell脚本中特定符合变量的含义: $#   传递到脚本的参数个数 $*    以一个单字符串显示所有向脚本传递的参数.与位置变量不同,此选项参数可超过9个 $$    脚本运行的当前进程PID号 ...

  8. centos shell编程5 LANMP一键安装脚本 lamp sed lnmp 变量和字符串比较不能用-eq cat > /usr/local/apache2/htdocs/index.php <<EOF重定向 shell的变量和函数命名不能有横杠 平台可以用arch命令,获取是i686还是x86_64 curl 下载 第三十九节课

    centos shell编程5  LANMP一键安装脚本 lamp  sed  lnmp  变量和字符串比较不能用-eq  cat > /usr/local/apache2/htdocs/ind ...

  9. loadrunner脚本中参数化和返回值输出log到外部文件

    loadrunner脚本中参数化和返回值输出log到外部文件 很多时候,我们在做性能测试之前,需要造数据,但是使用的这些参数化数据和生成的返回数据在后面的测试都会用的,所以我们需要在造数据过程中,将参 ...

随机推荐

  1. Centos7安装JDK+部署Tomcat8

    Centos7下JDK+Tomcat的部署: 1.安装JDK 1.1 通过以下命令获得java JDK列表 yum -y list java* 1.2 通过yum安装JDK yum -y instal ...

  2. Linux下执行自定义的可执行命令无效原因

    1 前言 用golang编译成可执行文件tt stats text.txt(tt 是编译后重命名的可执行文件),然后直接执行失败了,后来使用./tt stats text.txt可以了. 执行结果如下 ...

  3. C# 操作Session、Cookie,Url 编码解码工具类WebHelper

    using System; using System.Collections.Generic; using System.IO; using System.Net; using System.Text ...

  4. 那什么时候会触发BFC呢?块级格式化上下文

    <html>根元素: float的值不为none: overflow的值为auto.scroll或hidden: display的值为table-cell.table-caption和in ...

  5. Python——类与对象,异常处理

    类 class C1: def setdata(self,value): self.data = value def display(self): print(self.data) class C2( ...

  6. linux yum提示Loaded plugins: fastestmirror, security错误的解决方法

    别听网上的,先检查自己是不是打错了.........我就是打错了一个横杆搞了一个多小时 具体: 如图这种,长横杆 修改后结果: 所以在不知情的情况之下千万不要乱改东西,先检查代码是否有误 题外话: = ...

  7. 经验分享:PDF怎么提取页面

    PDF文件的页面有很多但有需要的并不是全部,有时候需要其中一页或几页的时候,这个时候我们就需要把单独的页面提取出来,这个时候应该怎么做呢,上次有小伙伴来询问小编,今天小编就为大家分享一下小编自己的编辑 ...

  8. 2018-2019-2 20165328《网络对抗技术》Exp0 Kali安装week1

    1.下载Kaili安装资源并解压安装到虚拟机: 2.修改默认字体与共享文件设置: 3.更新软件源与下载中文输入法: 4.安装完成.

  9. 【玩转开源】制作Docker镜像

    做嵌入式方向经常会遇到的一个问题,就是编译环境安装,如果换电脑,再重新安装环境是一个比较费时的事情,这个时候可以自己制作一个Docker镜像,然后把编译环境在Docker镜像里面配置好,以后同步环境就 ...

  10. JS截取页面,并保存到本地

    想截取浏览器上内容,并做成图片保存到本地. 可以使用html2canvas.js进行操作. <!DOCTYPE html> <html lang="en"> ...