Как программно создать пакет служб SSIS? - PullRequest
7 голосов
/ 21 октября 2008

Я пытаюсь программно создать пакет служб SSIS, содержащий простой поток данных из таблицы A в таблицу B в той же базе данных. Я использую приведенный пример здесь . Пакет создается и сохраняется в файл dtsx, но когда я открываю его в Visual Studio, я вижу, что исходная и целевая таблицы не были выбраны.

Я также хочу вставить задачу преобразования между ними, прежде чем она достигнет пункта назначения.


EDIT

Что ж, мне удалось выбрать исходную и целевую таблицы, и задача даже была успешно выполнена. Оказывается, мне нужно было

(a) используйте одно соединение oleDB для источника и назначения [мне не нравится этот способ; Я хочу использовать только одно соединение]

(b) установить Accessmode на 3 в пункте назначения SetComponentProperty ("AccessMode", 3) , что соответствует таблице или представлению - быстрая загрузка

Есть ли где-нибудь документация по этому вопросу? Все, что я могу найти, это то, что SetComponentProperty делает, а не то, что все параметры, которые он может принять, чтобы сделать это. например. что еще я могу поставить там, кроме "AccessMode"? Что означает второй параметр 3, 2 или 1?

Все еще пытаюсь нанести на карту моникеры. STOCK: PipelineTask означает задачу DataFlow. Что такое прозвище для сказать ... копировать столбец?

Ответы [ 3 ]

3 голосов
/ 23 октября 2008

Да, это одно из моих разочарований в SSIS: они не предоставляют простую таблицу или карту новой терминологии.

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

Код находится здесь: http://msdn.microsoft.com/en-us/library/ms136106.aspx

Когда я запустил его, я обнаружил, что название столбца копирования: Имя: Копировать столбец CreationName: DTSTransform.CopyMap.1

0 голосов
/ 04 апреля 2019

Если вы не хотите использовать сборки DTS .net, вы можете использовать EzApi, который предоставляет более простой синтаксис для программного создания служб SSIS.

EzAPI - это библиотека .NET, написанная на C # Евгением Кобловым, одним из тестировщиков команды SSIS, для отвлечения большого количества громоздкого низкоуровневого кодирования, необходимого для создания XML-пакетов SSIS непосредственно на языке программирования

EzApi впервые был опубликован в рамках проекта примеров сообщества SSIS, созданного командой разработчиков Microsoft:

А позже он публикуется как отдельный проект для добавления поддержки SQL Server 2016:

Чтобы начать пользоваться EzApi, в Интернете есть много ссылок, к которым вы можете обратиться, например:

0 голосов
/ 23 октября 2008

Раньше у меня была копия SQL Server 2005 Integration Services , книга Wrox. Я уверен, что в нем есть целая глава или две, посвященные программной работе с пакетами служб SSIS. Вы можете проверить местный книжный магазин и пролистать его, он может иметь то, что вы хотите.

Извините, я не могу дать вам ничего более конкретного, чем ссылка на книгу. Удачи.

...