关闭 x
IT技术网
    技 采 号
    ITJS.cn - 技术改变世界
    • 实用工具
    • 菜鸟教程
    IT采购网 中国存储网 科技号 CIO智库

    IT技术网

    IT采购网
    • 首页
    • 行业资讯
    • 系统运维
      • 操作系统
        • Windows
        • Linux
        • Mac OS
      • 数据库
        • MySQL
        • Oracle
        • SQL Server
      • 网站建设
    • 人工智能
    • 半导体芯片
    • 笔记本电脑
    • 智能手机
    • 智能汽车
    • 编程语言
    IT技术网 - ITJS.CN
    首页 » 网站维护 »微软 BI 系列随笔 - SSIS 基础 - 参数与环境

    微软 BI 系列随笔 - SSIS 基础 - 参数与环境

    2015-09-10 00:00:00 出处:ITJS
    分享

    简介

    在上一篇博客中,主要讲述了如何实现SSIS的项目部署,参见 微软 BI 系列随笔 - SSIS 2012 基础 - SSIS 项目部署模型

    本文主要介绍SSIS 2012中的参数与环境,以及如何利用这些信息来实现SSIS项目的开发和部署之后的运行。

    关于参数

    SSIS 2012中参数主要分为项目参数和包参数。参数在包的运行过程中是只读的。正确的使用参数能大大提高我们开发和部署时的效率。

    项目参数

    项目参数是SSIS 2012中新加入的功能。项目参数可以在项目内所有的包中共享,一次配置,多处使用。因此在项目参数中,通常是设置一些比较通用的信息,比如数据库连接,服务器连接,或者其他的业务范畴的信息。

    下图列出了在项目中常用的一些参数设置。

    通过设定项目使用的数据库连接信息,就可以在项目的Connection manager中使用这些参数实现动态的连接。

    包参数

    包参数通常定义包执行时需要的一些数据,比如筛选文件的条件,文件采集的位置,功能的开关等等。这些参数定义在包级别,相当于一个程序的入口参数。

    环境

    在项目的开发到交付的过程中,通常会有各种环境(DEV,STG,UAT,PRD),SSIS2012中引入了环境(Environment)来适配。

    这个环境是存在于SSIS目录(Intergration Services Catalogs)中,在部署完一个SSIS项目后,在项目同级别目录会自动创建一个环境(Environments)目录。在这个目录下面可以添加我们的运行时环境配置。

    下面写一下为项目配置环境的步骤。

    添加环境

    在环境文件夹上右键单击,选择“添加环境”,系统会弹出一个创建环境的窗口,需要填写环境名字和描述。如下图

    点击OK将会在环境文件夹创建新环境。

    创建环境变量

    选择刚刚创建的环境,右键单击选择属性。这时候会打开环境属性窗口。在窗口左边选择页面中点击变量,在右边的窗口中可以创建一系列的变量。这些变量可以与包和项目中定义的参数相对应,一个参数对应一个变量。建议将变量名设置为与参数名称一样。假如两个包使用了同样的参数名称,值不一样,可以在变量名前加前缀标志。我创建的环境变量如下(红线框起来的部分是因为两个包使用了同样的参数名加以区分):

    在权限页可以设置每个账户对这个环境的读写和管理权限。

    复制环境变量

    通常情况下需要配置多个环境,这些环境会使用同样的环境变量名,只是值不一样。假如变量很多的话,一个个配置起来也很麻烦。这个时候该怎么办呢 开动我们的大脑,想想之前配置的DEV环境变量都存在哪里了 DEV环境变量都存在哪里了 DEV环境变量都存在哪里了 (重要的事情说三遍)

    这个时候我们去查看一下数据库,发现有一个叫SSISDB的库,在这个库里面有几张表看起来和我们的环境有关系。他们分别是[internal].[environments],[internal].[environment_variables],[internal].[environment_permissions]。怎么样,是不是已经要脑洞大开了,没错,就是这三张表。

    [internal].[environments] -- 这个表存放的是环境信息,主要有环境ID,名称,文件夹ID,描述和创建者信息。

    [internal].[environment_variables] -- 这个表存放的是环境变量信息,主要有变量ID,环境ID,名称,描述,类型,值以及其他信息。

    [internal].[environment_permissions] -- 这个表存放的是权限控制信息。

    知道了这么多以后该怎么做,相信大家已经心里有数了。但是我还是给大家列出了详细的步骤哦(楼主好人,谢谢分享)

    首先是按照你的需要,在环境文件夹中创建你所有需要的环境,比如我创建了DEV,INT,STG,PRD环境。除了DEV中是已经配置了变量,其他的目前都是空白。这些环境每个都有一个唯一的标志,在属性页的第一页里面(怎样,我不说你注意到了吗 )

    接下来在SSISDB数据库执行如下脚本,比如我的DEV环境标志是1,INT的标志是2,我现在要把DEV的变量复制到INT里面去。

    INSERT INTO [internal].[environment_variables]          ([environment_id]          ,[name]          ,[description]          ,[type]          ,[sensitive]          ,[value]          ,[sensitive_value]          ,[base_data_type]) SELECT  2 as environment_id  --INT Environment ID     ,[name]     ,[description]     ,[type]     ,[sensitive]     ,[value]     ,[sensitive_value]     ,[base_data_type] FROM [SSISDB].[internal].[environment_variables] where environment_id = 1  --DEV Environment ID 

    好了,现在打开INT环境,查看一下他的属性,变量是不是都在了啊。(笑湿了吧)

    使用同样的语句来给其他环境创建变量吧。

    引用环境变量

    配置了这么多环境和变量了(累湿了),如何使用它们呢 下面接着给大家伙细细道来。

    在项目文件夹选择之前部署的项目,右击(右键单击)选择配置,选择参考页(References)。这里有一个列表是用来选择环境和文件夹的。点击添加按钮,有一个弹出框让你选择环境。你可以选择当前目录下面或者其他目录下面(你会定义到别的项目的目录下面去吗 )的环境,一次只能选择一个(连多选都不给咱)。然后就可以看到环境一个个的添加进来了。我的长成下面这个样子了:

    然后你就可以在参数页使用环境里面的变量了哟。

    选择参数页,选好作用域(Scope),然后可以看到你在项目级别拉,包级别拉定义的参数了吧。选中一个参数,单击Value右边的那个按钮,在弹出的框框里面选择使用环境变量,如下所示。

    现在知道在各个环境中定义相同的变量名的好处了吧(记得值不要一样哦)。快去给每个参数设置一下吧。

    使用环境变量

    到这一步已经接近大功告成了(码字好累,继续写),但是这么多环境变量怎么使用呢

    想想我们开发了这么多包,又部署了,有配置了,主要是为了干甚呢 不就是为了执行吗。好吧,选中包,右击选执行。

    怎么回事,那么多必填的值啊,往下看,哦,要选择环境啊。

    之前是这样:

    之后是这样:

    好了,点击OK按钮去执行吧。你也可以从上边选择生成脚本去执行(自己找吧,不截图了)。

    到这一步,一切都很完美了。

    使用了参数以后,整个项目的开发,部署以及运行,一切都如行云流水,就好象子画带着小骨在御剑飞行啊,好舒服的呢。

    接下来,老大,我的SSIS是要长期执行的,怎么做啊

    别急啊,中午了,下一篇继续讲解如何将SSIS部署到SQL Job吧。

    上一篇返回首页 下一篇

    声明: 此文观点不代表本站立场;转载务必保留本文链接;版权疑问请联系我们。

    别人在看

    正版 Windows 11产品密钥怎么查找/查看?

    还有3个月,微软将停止 Windows 10 的更新

    Windows 10 终止支持后,企业为何要立即升级?

    Windows 10 将于 2025年10 月终止技术支持,建议迁移到 Windows 11

    Windows 12 发布推迟,微软正全力筹备Windows 11 25H2更新

    Linux 退出 mail的命令是什么

    Linux 提醒 No space left on device,但我的空间看起来还有不少空余呢

    hiberfil.sys文件可以删除吗?了解该文件并手把手教你删除C盘的hiberfil.sys文件

    Window 10和 Windows 11哪个好?答案是:看你自己的需求

    盗版软件成公司里的“隐形炸弹”?老板们的“法务噩梦” 有救了!

    IT头条

    公安部:我国在售汽车搭载的“智驾”系统都不具备“自动驾驶”功能

    02:03

    液冷服务器概念股走强,博汇、润泽等液冷概念股票大涨

    01:17

    亚太地区的 AI 驱动型医疗保健:2025 年及以后的下一步是什么?

    16:30

    智能手机市场风云:iPhone领跑销量榜,华为缺席引争议

    15:43

    大数据算法和“老师傅”经验叠加 智慧化收储粮食尽显“科技范”

    15:17

    技术热点

    商业智能成CIO优先关注点 技术落地方显成效(1)

    用linux安装MySQL时产生问题破解

    JAVA中关于Map的九大问题

    windows 7旗舰版无法使用远程登录如何开启telnet服务

    Android View 事件分发机制详解

    MySQL用户变量的用法

      友情链接:
    • IT采购网
    • 科技号
    • 中国存储网
    • 存储网
    • 半导体联盟
    • 医疗软件网
    • 软件中国
    • ITbrand
    • 采购中国
    • CIO智库
    • 考研题库
    • 法务网
    • AI工具网
    • 电子芯片网
    • 安全库
    • 隐私保护
    • 版权申明
    • 联系我们
    IT技术网 版权所有 © 2020-2025,京ICP备14047533号-20,Power by OK设计网

    在上方输入关键词后,回车键 开始搜索。Esc键 取消该搜索窗口。