我正在开发一个自定义 SSIS 组件,准确地说是一个数据源。现在,我几乎已经准备好了一切 - 该组件采用一个输入参数(自定义属性),它是一个字符串。由于此参数会根据环境而变化,因此对我来说至关重要的是使用一个表达式对其进行参数化,该表达式将从包参数中为其分配一个值。
当然,当我右键单击数据流中的组件时,没有“参数化...”选项。我注意到在商业组件中,例如 Cozyroc,它是通过数据流属性表达式进行处理的,但我的“进程 URL”不可见作为可以使用表达式分配的属性。
如何在我的自定义属性上启用参数化?我使用 SQL Server 2012 作为我的项目的目标平台,该组件本身是用 C# 编写的。
当您为 Process URL 定义自定义属性时,您应该设置其属性
.ExpressionType = DTSCustomPropertyExpressionType.CPET_NOTIFY
。您可以在有关自定义数据流组件的Microsoft 文档中找到更多详细信息。完成此步骤后,转到数据流属性并使用表达式设置自定义属性的参数。