创建自定义连接管理器
适用范围:SQL Server Azure 数据工厂中的 SSIS Integration Runtime
创建自定义连接管理器时必须遵循的步骤与创建任何其他 Integration Services 自定义对象的步骤相似。
创建一个从基类继承的新类。 对于连接管理器,该基类为 ConnectionManagerBase。
将标识对象类型的属性应用于该类。 对于连接管理器,该属性为 DtsConnectionAttribute。
重写基类的方法和属性的实现。 对于连接管理器,所涉及的属性和方法包括 ConnectionString 属性以及 AcquireConnection 和 ReleaseConnection 方法。
可以选择开发自定义用户界面。 对于连接管理器,这需要一个实现 IDtsConnectionManagerUI 接口的类。
注意
内置于 Integration Services 的大多数任务、源和目标都只能与特定类型的内置连接管理器一起工作。 因此,不能使用内置任务和组件测试这些示例。
自定义连接管理器入门
创建项目和类
由于所有托管连接管理器都派生自 ConnectionManagerBase 基类,因此创建自定义连接管理器的第一步是以您首选的托管编程语言创建一个类库项目,然后创建一个从该基类继承的类。 在此派生类中重写基类的属性和方法可实现自定义功能。
在同一解决方案中,创建另一个类库项目,用于自定义用户界面。 为便于部署,建议对用户界面使用单独的程序集,因为这可使您分别更新和重新部署连接管理器或其用户界面。
将这两个项目配置为使用强名称密钥文件对在生成时产生的程序集进行签名。
应用 DtsConnection 属性
对已创建的类应用 DtsConnectionAttribute 属性,以将其标识为连接管理器。 此属性提供设计时信息,例如连接管理器的名称、说明和连接类型。 ConnectionType 和 Description 属性与“添加 SSIS 连接管理器”对话框中显示的“类型”和“说明”列相对应,该对话框在 SQL Server Data Tools (SSDT) 中为包配置连接时显示。
使用 UITypeName 属性将连接管理器链接到其自定义用户界面。 要获取此属性所需的公钥令牌,可使用 sn.exe -t 来显示要用于对用户界面程序集签名的密钥对 (.snk) 文件中的公钥令牌。
<DtsConnection(ConnectionType:="SQLVB", _
DisplayName:="SqlConnectionManager (VB)", _
Description:="Connection manager for Sql Server", _
UITypeName:="SqlConnMgrUIVB.SqlConnMgrUIVB,SqlConnMgrUIVB,Version=1.0.0.0,Culture=neutral,PublicKeyToken=<insert public key token here>")> _
Public Class SqlConnMgrVB
Inherits ConnectionManagerBase
. . .
End Class
[DtsConnection(ConnectionType = "SQLCS",
DisplayName = "SqlConnectionManager (CS)",
Description = "Connection manager for Sql Server",
UITypeName = "SqlConnMgrUICS.SqlConnMgrUICS,SqlConnMgrUICS,Version=1.0.0.0,Culture=neutral,PublicKeyToken=<insert public key token here>")]
public class SqlConnMgrCS :
ConnectionManagerBase
{
. . .
}
生成、部署和调试自定义连接管理器
在 Integration Services 中生成、部署和调试自定义连接管理器的步骤与其他自定义对象类型所需的步骤相似。 有关详细信息,请参阅生成、部署和调试自定义对象。