|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||
10.4. Пример работы с SSIS DesignerSSIS Designer в SQL Server 2005, вкладки Control Flow (Поток управляющих элементов), Data Flow (Поток данных), Event Handlers (Обработчики событий), Package Explorer (Проводник пакета) По наблюдениям автора, даже специалисты с опытом работы с DTS часто не могут сразу разобраться с SSIS Designer — настолько много появилось новых возможностей. Поэтому в этом разделе постараемся просто познакомиться с возможностями SSIS Designer на простом примере. Подробно работа с различными компонентами SSIS Designer рассматривается в следующих разделах. Задание будет очень простым: предположим, что нужно сделать то же самое, что и в предыдущем разделе (выгрузить данные из представления AdventureWorks.HumanResources.vEmployee в файл Excel), но уже средствами SSIS Designer. Экспорт данных должен быть произведен в файл Excel D:\Employees1.xls. SSIS Designer встроен в Business Intelligence Development Studio, и для его запуска вам потребуется запустить это программное средство, основанное на Visual Studio. Если на вашем компьютере установлена Visual Studio 2005, то вы можете работать с пакетами SSIS напрямую из нее. После запуска Business Intelligence Development Studio вам потребуется создать новый проект (при помощи меню File | New | Project (Файл | Новый | Проект)). В окне New Project (Новый проект) в списке типов проекта нужно выбрать Business Intelligence Projects, а в списке доступных шаблонов в правой части экрана — Integration Services Project. После того, как вы введете информацию об имени создаваемого проекта и размещении его файлов и нажмете кнопку OK, проект будет создан. При этом автоматически откроется окно SSIS Designer с загруженным в него новым пустым пакетом SSIS. В окне SSIS Designer есть четыре вкладки: q Control Flow (Поток управляющих элементов) — на ней производится управление ходом выполнения пакетов; q Data Flow (Поток данных) — эта вкладка специально предназначена для редактирования элементов Data Flow Task, при помощи которых и определяются параметры перемещения данных; q Event Handlers (Обработчики событий) — при помощи этой вкладки регистрируются обработчики событий, которые могут возникнуть при выполнении пакета (например, связанные с ошибками); q Package Explorer (Проводник пакета) — это просмотрщик компонентов объекта, представляющего пакет SSIS. Работа на этих вкладках будет подробно рассмотрена в следующем разделе. Для того чтобы решить задачу, достаточно будет выполнить лишь несколько простых операций. Первое, что нужно будет сделать, — разместить на вкладке Control Flow единственный элемент Data Flow Task. Для этого нужно сделать видимым окно Toolbox (например, при помощи меню View | Toolbox (Вид | Элементы управления)) и перетащить из него элемент Data Flow Task на светло-розовое поле SSIS Designer. Выглядеть результат может, например, так, как представлено на рис. 10.3.
Рис. 10.3. Работа с SSIS Designer Следующее, что вам нужно сделать, — настроить параметры созданной вами задачи Data Flow Task. Для этого лучше всего щелкнуть по ней правой кнопкой мыши и в контекстном меню выбрать Edit. Поскольку задача такого типа у вас одна, то можно просто перейти на вкладку Data Flow в SSIS Designer. В любом случае откроется вкладка Data Flow. Пока она пуста, только надпись в центре этой вкладки советует начать с размещения источника данных. Так и следует поступить, но вначале нужно создать соединение. Соединение в Data Flow Task создается при помощи объектов Connection Managers (Менеджеры подключений). Область для работы с этими объектами (она так и называется — Connection Managers) по умолчанию помещается в нижнюю часть экрана. В этой области при помощи графических средств можно создать соединение с источником данных, которое потом можно использовать в пакете. Для наших целей потребуются два источника данных: одно для подключения к представлению HumanResources.vEmployee в базе данных AdventureWorks на локальном сервере SQL Server 2005, а второе — для подключения к файлу Excel. В любом случае для создания подключения нужно щелкнуть правой кнопкой мыши по области Connection Managers и в контекстном меню выбрать нужный тип подключения. Если вы хотите сделать все так же, как при работе с мастером, то для подключения к SQL Server 2005 нужно использовать SQL Native Client. Это надстройка над OLE DB, и поэтому в контекстном меню при создании нового менеджера подключений нужно выбрать New OLE DB Connection (Новое соединение OLE DB). Затем в открывшемся окне Configure OLE DB Connection Manager (Настроить менеджер подключений OLE DB) нужно нажать кнопку New (Новый). Откроется окно Connection Manager, в котором нужное значение Native OLE DB\SQL Native Client будет подставлено по умолчанию (рис. 10.4). В этом окне вам потребуется указать только имя базы данных, режим аутентификации и базу данных, а также для проверки нажать кнопку Test Connection (Проверить соединение).
Рис. 10.4. Настройка Connection Manager Настройка второго подключения (для файла Excel D:\Employees.xls) выглядит точно так же. Нужно щелкнуть правой кнопкой мыши по пустому пространству в области Connection Managers и в контекстном меню выбрать New Connection (Новое подключение). В открывшемся списке нужно выбрать EXCEL и ввести имя файла и версию Excel (вы можете также указать, будут ли в первую строку в файле Excel помещаться имена столбцов). После того, как оба объекта менеджеров подключений созданы, можно приступать к настройке самой задачи Data Flow Task. Для этого на вкладку Data Flow нужно перетащить источник (source) и назначение (destination) для передаваемых данных. Наиболее подходящий в данном случае источник — это OLE DB Source. Его объект нужно перетащить из Toolbox на поле вкладки Data Flow. Назначение для данных — это файл Excel, поэтому выбираем Excel Destination (назначения находятся в самом низу списка элементов в Toolbox). Пока элементы у вас не настроены, они будут помечены красным кружком с крестиком. Определить их параметры можно, щелкнув по объекту источника или назначения правой кнопкой мыши и в контекстном меню выбрав команду Edit. Если вы выполните эту операцию для вашего источника данных, то откроется редактор OLE DB Source Editor с тремя вкладками. На первой вкладке нужно выбрать созданный вами менеджер подключений для базы данных AdventureWorks, определить режим доступа к данным (в рассматриваемом случае это SQL Command (Команда SQL)) и ввести текст команды. Обратите внимание, что в отличие от мастера, в вашем распоряжении появился очень удобный построитель запросов, который открывается при нажатии на кнопку Build Query (Построить запрос). С его помощью очень удобно создавать сложные запросы с большим количеством соединений. Здесь вы можете определить использование запроса (или имени таблицы/представления), текст которого берется из переменной пакета. В данном случае в поле Data access mode (Режим доступа к данным) выберите SQL Command, а текст запроса может быть таким же, как и при использовании мастера: SELECT * FROM HumanResources.vEmployee; Если нажать кнопку Preview (Предпросмотр), то можно убедиться, что возвращаются требуемые данные. На вкладке Columns (Столбцы) вы можете выбрать столбцы, который будут возвращаться с источника, а на вкладке Error Output (Вывод ошибок) — поведение при возникновении ошибок в каждом из столбцов. В рассматриваемом случае значения на этих вкладках можно оставить без изменений. После настройки источника данных нужно указать, что возвращаемые данные будут передаваться назначению Excel Destination. Делается это очень простым, но несколько неожиданным способом. Нужно выделить настроенный вами источник OLE DB Source. Тогда от него появятся две стрелки — зеленая и красная, направленные вниз. Нужно зацепить мышкой зеленую стрелку (она означает успешное извлечение данных) и перетащить ее на назначение Excel Destination. Если все будет сделано правильно, то схема вашей Data Flow Task будет выглядеть так, как представлено на рис. 10.5.
Рис. 10.5. Определение связей между источником и назначением Следующее, что нужно сделать, — настроить назначение Excel Destination. Точно так же откройте его свойства при помощи команды Edit в контекстном меню и выберите требуемые параметры на вкладке Connection Managers (Менеджеры подключений). В списке OLE DB Connection Manager (Менеджер подключений OLE DB) нужно выбрать, конечно, созданный вами Excel Connection Manager, а в списке Data Access Mode — Table or View (Таблица или представление). Если файла Excel еще не существует, то в списке Name of the Excel Sheet (Имя таблицы Excel) появится надпись No tables or views could be loaded (Нельзя загрузить ни одну таблицу или представление). В этом случае проще всего воспользоваться кнопкой New и, просмотрев команду на создание таблицы, нажать кнопку OK. При этом произойдет сразу несколько вещей: q на диске будет создан файл Excel с указанным вами именем; q в первой таблице этого файла будет создан именованный диапазон с названием, указанным в команде CREATE TABLE (по умолчанию — Excel_Destination); q если при настройке менеджера подключений был установлен соответствующий флажок, то в первую строку этого именованного диапазона будут помещены названия столбцов, которые возвращает запрос к SQL Server; q название именованного диапазона (Excel Destination, уже без подчеркивания) будет помещено в список Name of Excel Sheet (Имя таблицы Excel). Вам осталось только перейти на вкладку Mappings (Привязки), просмотреть информацию для каждого столбца и нажать кнопку OK. Все, ваш пакет создан. Для того чтобы убедиться, что он выполняет все нужные действия, достаточно запустить его на выполнение при помощи меню Debug | Start Debugging (Отладка | Запустить с отладкой) или Debug | Start without debugging (Отладка | Запустить без отладки). Если вы запустили пакет с отладкой, после окончания его работы завершите отладку при помощи меню Debug | Stop Debugging (Отладка | Остановить отладку). Как вы видите, создание пакета в SSIS Designer несколько сложнее, чем при использовании мастера, и занимает больше времени. Однако возможностей в SSIS Designer намного больше. При желании вы можете сравнить созданный вами вручную пакет SSIS и пакет, который был создан мастером. Для этого в окне Solution Explorer щелкните правой кнопкой мыши по контейнеру SSIS Packages (Пакеты SSIS) и в контекстном меню выберите Add Existing Packages (Добавить существующие пакеты). Затем в открывшемся окне выберите в поле Package location (Местонахождение пакета) значение SQL Server, введите имя вашего сервера и нажмите на кнопку справа от поля Package path (Путь к пакету). Откроется список пакетов и планов обслуживания баз данных, которые находятся на сервере (они также являются пакетами SSIS). Выберите созданный вами пакет (в примере он назывался WizardPackage1) и нажмите кнопку OK. Чтобы открыть этот пакет в SSIS Designer, достаточно в его контекстном меню выбрать команду Open (Открыть). Созданный мастером пакет SSIS будет чуть-чуть отличаться от созданного вручную. Создание файла Excel было выполнено в ходе настройки пакета, а в пакете мастера создание файла Excel производится при помощи специального элемента Preparation SQL Task на вкладке Control Flow. В остальном оба пакета одинаковы.
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||
Получить учебные материалы по этому курсу |
||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||