Поделиться через


Соединение с источниками данных в компоненте скрипта

Область применения: среда выполнения интеграции SSIS SQL Server в Фабрика данных Azure

Диспетчер соединений — это удобный элемент, который инкапсулирует и сохраняет сведения, необходимые для соединения с источником данных определенного типа. Дополнительные сведения см. в статье Соединения служб Integration Services (SSIS).

Можно сделать существующие диспетчеры подключений доступными для пользовательского скрипта в компоненте источника или назначения, нажимая кнопки Добавить и Удалить на странице Диспетчеры подключений в окне Редактор преобразования "Скрипт". Однако необходимо написать собственный пользовательский код для загрузки и сохранения данных, а также, возможно, для открытия и закрытия соединения с источником данных. Дополнительные сведения о странице Диспетчеры подключений редактора преобразования "Скрипт" см. в разделах Настройка компонента "Скрипт" в редакторе компонента "Скрипт" и Редактор преобразования "Скрипт" (страница "Диспетчеры подключений").

Компонент скрипта создает класс коллекции Connections в элементе проекта ComponentWrapper, который содержит строго типизированный метод доступа для каждого диспетчера подключений, имя которого совпадает с именем самого диспетчера подключений. Эта коллекция доступна с помощью свойства Connections класса ScriptMain. Свойство метода доступа возвращает ссылку на диспетчер соединений как на экземпляр IDTSConnectionManager100. Например, если добавить диспетчер соединений с именем MyADONETConnection на странице «Диспетчеры соединений» диалогового окна, можно получить ссылку на него в скрипте, добавив следующий код:

Dim myADONETConnectionManager As IDTSConnectionManager100 = _

Me.Connections.MyADONETConnection

Примечание.

Прежде чем вызывать метод AcquireConnection, необходимо узнать тип подключения, возвращаемого диспетчером подключений. Поскольку в задачу "Скрипт" включен параметр Option Strict, перед использованием необходимо привести подключение, возвращаемое с типом Object, к подходящему типу подключения.

Далее необходимо вызвать метод AcquireConnection конкретного диспетчера подключений, чтобы получить базовое подключение либо сведения, необходимые для подключения к источнику данных. Например, с помощью следующего кода можно получить ссылку на подключение System.Data.SqlConnection, упакованное диспетчером подключений ADO.NET:

Dim myADOConnection As SqlConnection = _

CType(MyADONETConnectionManager.AcquireConnection(Nothing), SqlConnection)

Вместе с тем тот же вызов к диспетчеру соединений с неструктурированными файлами вернет только путь и имя файла источника данных.

Dim myFlatFile As String = _

CType(MyFlatFileConnectionManager.AcquireConnection(Nothing), String)

Затем необходимо предоставить этот путь и имя файла модулю чтения System.IO.StreamReader, или модулю записи Streamwriter для чтения, или записи данных в неструктурированный файл.

Внимание

При написании управляемого кода в компоненте скрипта нельзя вызывать метод AcquireConnection диспетчеров подключений, возвращающий неуправляемые объекты, например диспетчера подключений OLE DB или диспетчера подключений Excel. Однако можно считать свойство ConnectionString этих диспетчеров подключений и подключиться к источнику данных непосредственно в коде с помощью строки подключения объекта OLEDB connection из пространства имен System.Data.OleDb.

Если необходимо вызвать метод AcquireConnection диспетчера подключений, возвращающего неуправляемый объект, используйте диспетчер подключений ADO.NET. При настройке диспетчера соединений ADO.NET для использования поставщика OLE DB он соединяется с помощью поставщика данных .NET Framework для OLE DB. В этом случае метод AcquireConnection возвращает System.Data.OleDb.OleDbConnection вместо неуправляемого объекта. Чтобы настроить диспетчер подключений ADO.NET для работы с источником данных Excel, выберите "Поставщик OLE DB для Jet (Майкрософт)", укажите книгу Excel, а затем введите Excel 8.0 (для Excel 97 и более поздних версий) в качестве значения параметра Расширенные свойства на странице Все диалогового окна Диспетчер подключений.

Дополнительные сведения об использовании диспетчеров подключений в компоненте скрипта см. в разделах Создание источника с помощью компонента скрипта и Создание назначения с помощью компонента скрипта.

См. также

Соединения в службах Integration Services (SSIS)
Создание диспетчеров соединений