SSISDB 系列随笔汇总:

 

参数(Parameter)是Package暴露给外界的接口,通过传递不同的参数值,能够控制 Package 的执行流程,执行不同的任务(Task)。参数分为Package级别的参数(Package Parameter)和工程级别的参数(Project Parameter),Package参数只能作用于当前的Package,而Project参数能够作用于当前Project中包含的所有Package。参数的值只能引用,不能修改。

参数除了直接赋值之外,还能通过环境变量来赋值。环境是变量的集合,参数引用不同环境中的变量,能够快速切换Package引用的参数值,例如,在测试环境和产品环境之间快速切换,这是参数化编程带来的便利。

一,参数的值

参数有三种类型的值:design_default_value,Default_Value 和 Execution_Value:

  • design_default_value:在设计SSIS Project时,设置parameter的默认值。
  • Default_Value:在project 部署到SSISDB后,如果不对Parameters value进行修改,那么 Default_Value 和 design_default_value 相同;也可以修改Parameter的default value。
  • Execution_Value:Package 在执行时,parameters的值是Execution Value。默认情况下,Package在执行时,使用default value作为execution value;也可以在启动Execution时,设置Parameter的值,修改Execution Value不会修改Default value。

用户可以创建参数和环境之间的映射,Package在执行时,引用环境(Environment)中的变量(Variables)为参数赋值。

1,查看参数的设计值(design_default_value) 和默认值(Default_Value)

select f.name as folder_name,
    p.name as project_name, 
    op.parameter_id,
    op.parameter_name,
    case op.object_type
        when 20 then 'Project'
        when 30 then 'Package'
        else ''
    end as  object_type,
    op.object_name,
    op.data_type,
    op.required,
    op.sensitive,
    op.design_default_value,
    op.default_value,
    case op.value_type
        when 'V' then 'parameter_value is a literal value'
        when 'R' then 'referencing an environment variable'
        else ''
    end as value_type,
    op.value_set,
    op.referenced_variable_name
from catalog.object_parameters op
inner join catalog.projects p 
    on op.project_id=p.project_id
inner join catalog.folders f 
    on p.folder_id=f.folder_id
where op.object_type in(20,30)
View Code

相关文章:

  • 2022-12-23
  • 2022-12-23
  • 2022-01-20
  • 2022-12-23
  • 2021-08-10
  • 2022-02-09
  • 2022-12-23
  • 2021-09-04
猜你喜欢
  • 2021-09-13
  • 2021-11-18
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
相关资源
相似解决方案