Создание пользовательского диспетчера соединений
Создание пользовательского диспетчера соединений осуществляется за несколько шагов, аналогично созданию любого другого пользовательского объекта служб Integration Services:
Создайте новый класс, наследующий базовый класс. Для диспетчера соединений базовым классом является ConnectionManagerBase.
Примените к классу атрибут, определяющий тип объекта. Для диспетчера соединений используется атрибут DtsConnectionAttribute.
Переопределите реализацию методов и свойств базового класса. Для диспетчера соединений это свойство ConnectionString, методы AcquireConnection и ReleaseConnection.
При необходимости разработайте собственный пользовательский интерфейс. В случае с диспетчером соединений для этого необходимо использовать класс, реализующий интерфейс IDtsConnectionManagerUI.
Образцы пользовательских диспетчеров соединений см. в образцах служб Integration Services в разделе Codeplex. Примеры кода, приведенные в этом разделе, взяты из образца пользовательского диспетчера соединений SQL Server.
Примечание |
---|
Большая часть задач, источников и назначений в службах Integration Services работает только с определенными типами встроенных диспетчеров соединений. Поэтому данные образцы нельзя протестировать с помощью встроенных задач и компонентов. |
Приступая к работе над пользовательским диспетчером соединений
Создание проектов и классов
Так как все управляемые диспетчеры соединений являются производными от базового класса ConnectionManagerBase, на первом шаге создания пользовательского диспетчера соединений необходимо создать проект библиотеки классов на предпочитаемом языке программирования управляемого кода, а затем создать класс, наследующий от базового класса. В этом производном классе необходимо переопределить методы и свойства базового класса, чтобы реализовать пользовательскую функциональность.
Создайте в том же решении второй проект библиотеки классов для собственного пользовательского интерфейса. Для пользовательского интерфейса рекомендуется использовать отдельную сборку, что позволяет обновлять и заново развертывать диспетчер соединений или его пользовательский интерфейс независимо друг от друга.
Настройте в обоих проектах подписывание сборок, которые будут создаваться во время построения, с помощью файла ключа для строгого имени.
Применение атрибута DtsConnection
Примените к созданному классу атрибут DtsConnectionAttribute, чтобы определить его в качестве диспетчера соединений. Этот атрибут содержит сведения для времени разработки, например, имя, описание и тип соединения диспетчера соединений. Свойства ConnectionType и Description соответствуют столбцам Тип и Описание в диалоговом окне Добавление диспетчера соединений со службами SSIS, которое отображается при настройке соединений пакета в среде Business Intelligence Development Studio.
Используйте свойство 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 осуществляется в несколько шагов, аналогичных используемым при работе с другими типами пользовательских объектов. Дополнительные сведения см. в разделе Построение, развертывание и отладка пользовательских объектов.
|