SSIS Parameter用法
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了SSIS Parameter用法相关的知识,希望对你有一定的参考价值。
Parameters能够在Project Deployment Model下使用,不能在Package Deployment Model使用。在Package Deployment Model下,使用Package Configurations来传递属性值;在Project Deployment Model下,使用Parameters来传递值。
1,Parameters and Package Deployment Model
In general, if you are deploying a package using the package deployment model, you should use configurations instead of parameters.
When you deploy a package that contains parameters using the package deployment model and then execute the package, the parameters are not called during execution. If the package contains package parameters and expressions within the package use the parameters, the resulting values are applied at runtime. If the package contains project parameters, the package execution may fail.
2,Parameters分为两个Level,Project Level 和 Package Level,这两个level的parameters value都存储在project files。
Project Parameters values and Packages parameters values are stored in configurations in the project file。
Integration Services (SSIS) parameters allow you to assign values to properties within packages at the time of package execution. You can create project parameters at the project level and package parameters at the package level. Project parameters are used to supply any external input the project receives to one or more packages in the project. Package parameters allow you to modify package execution without having to edit and redeploy the package.
一,Package Parameter
1,在Project Deployment Model下,打开parameters选项卡,New一个Package Parameter,Parameter 名字是ParameterA。
Sensitive:敏感信息,需要加密
Required:必须提供,否则会出错
Property | Description |
---|---|
Name | The name of the parameter. |
Data type | The data type of the parameter. |
Default value | The default value for the parameter assigned at design time. This is also known as the design default. |
Sensitive | Sensitive parameter values are encrypted in the catalog and appear as a NULL value when viewed with Transact-SQL or SQL Server Management Studio. |
Required | Requires that a value, other than the design default, is specified before the package can execute. |
Description | For maintainability, the description of the parameter. In SQL Server Data Tools (SSDT), set the parameter description in the Visual Studio Properties window when the parameter is selected in the applicable parameters window. |
2,Add parameters to Configurations
3,Set Parameter Values After the Project Is Deployed
The Deployment Wizard allows you to set server default parameter values when you deploy your project to the catalog. After your project is in the catalog, you can use SQL Server Management Studio (SSMS) Object Explorer or Transact-SQL to set server default values.
To set server defaults with SSMS Object Explorer:
Select and right-click the project under the Integration Services node.
Click Properties to open the Project Properties dialog window.
Open the parameters page by clicking Parameters under Select a page.
Select the desired parameter in the Parameters list. Note: The Container column helps distinguish project parameters from package parameters.
In the Value column, specify the desired server default parameter value.
To set server defaults with Transact-SQL, use the catalog.set_object_parameter_value (SSISDB Database) stored procedure. To view current server defaults, query the catalog.object_parameters (SSISDB Database) view. To clear a server default value, use the catalog.clear_object_parameter_value (SSISDB Database) stored procedure.
MSDN上提供两种方法,一种是使用SSMS来修改,一种是使用TSQL语句来修改
3.1 使用SSMS来修改
选中integration Services Catalogs,右键点击TestISProjects,打开Configure
点击... 来设置参数的值
二,Project Parameter
1,在Project视图下,打开Project.params,创建一个project level 的Parameter, 命名为ProjectParameter_A。
2,将Project Parameter 添加到configurations中,
3,发布到Sql server之后,修改Project parameter的default value。
三,Use of package and project parameters
Parameters are useful for providing runtime values to properties during a package execution. Hence, in a way they replace the concept of configurations that we had for SSIS packages.
Package parameters are useful for providing values to specific package executions. As they are package scope, they would only be available to the package in which they were created.
Project parameters are available to all the packages in a project. They are useful for configuring values which can be shared between packages. For instance if you wanted to have a single parameter containing a server name to be used by multiple packages, then Project Parameters will be useful for you.
You can use a parameter anywhere in an expression by referring it using the following syntax:
@[$<<Project/Package>>::<<ParameterName>>]
The evaluation order is similar to using a variable in an expression and then executing a package. Hence, the value gets evaluated and assigned to the property at Validation phase.
以上是关于SSIS Parameter用法的主要内容,如果未能解决你的问题,请参考以下文章