|
Программирование >> Программирование баз данных
является наличие в нем четырех вкладок, каждая из которых имеет собственное назначение. Ниже эти вкладки рассматриваются отдельно. Следует отметить, что при желании в главном окне можно перейти от предусмотренного по умолчанию интерфейса, основанного на использование вкладок, к интерфейсу с применением окон. (Для этого можно воспользоваться параметрами программы Visual Studio.) Вкладка Control Flow Формирование пакета фактически ос)тцествляется на вкладке Control Flow (Поток выполнения). Безусловно, это не означает, что пакет состоит только из элементов управления потоком выполнения, но именно на эту вкладку первоначально перетаскиваются все определения задач и на ней задается порядок выполнения задач. Вкладка Data Flow Объекты потока данных после перетаскивания в область окна управления потоком выполнения становятся доступными для дальнейшего уточнения с помощью области окна Data Flow (Поток данных). Для решения задач управления потоком данных необходимо определить с помощью дополнительных объектов сведения, касающиеся соединений с данными, источники данных, назначенР1я данных, а также фактические преобразования. Вкладка Event Handlers В процессе экспл)атации пакетов SSIS широко используются события, а вкладка Event Handlers позволяет перехватывать определенные события и осуществлять с их учетом необходимые действия. В табл. 19.2 приведены наиболее важные события из тех, которые могут быть перехвачены. Таблица 19.2. События, перехватываемые с помощью обработчиков событий Событие Описание ОпЕггог Событие ОпЕггог представляет собой великолепное новое средство, предусмотренное в службе SSIS. В программе DTS был предусмотрен обработчик ошибок, который можно считать таковым лишь с определенной натяжкой, но он был очень ненадежным. На основе события ОпЕггог может быть создан гораздо более надежный обработчик ошибок OnExecStatusChanged Событие OnExecStatusChanged активизируется после каждого перехода рассматриваемой задачи в другое состояние. Возможными состояниями являются простой, выполнение, аварийное прекращение задачи (аварийное завершение), окончание работы, приостановка и проверка. Могут быть установлены перехватчики событий, связанных с переходом в любое из этих состояний, и предусмотрен код, выполняемый после обнаружения соответствующего события Окончание табл. 19.2 Событие Описание OnPostExecute Событие OnPostExecute активизируется сразу после того, как заканчивается выполнение рассматриваемой задачи. Можно было бы предположить, что вместо обработчика событий OnPostExecute можно применить обработчик событий OnExecStatusChanged и обеспечить перехват сообщения о событии завершения работы, но сам автор не проверил такую возможность, поэтому не собирается утверждать, что подобная замена допустима OnProgress Событие OnProgress активизируется регулярно, каждый раз после того, как в ходе выполнения пакета достигается какой-то вполне измеримый прогресс. По-видимому, применение средств обработки этого события может принести наибольшую пользу в том случае, если управление пакетом осуществляется программным путем, чем в каких-то других обстоятельствах, но применение этого события может также оказаться целесообразным в том случае, если конечным пользователям необходимо предоставить возможность следить за ходом выполнения пакета Безусловно, на этом перечень применимых обработчиков событий не исчерпывается, но события, описанные в табл. 19.2, дают наиболее полное представление о возможностях этих программных средств. Вкладка Package Explorer По мнению автора, решение о размеш;ении вкладки Package Explorer в главном окне принято не совсем правильно. По сути дела, на этой вкладке представлен древовидный элемент управления пакетом вместе со всеми определениями обработчиков событий, соединений и исполняемых файлов (к последним относятся все задачи, которые определены в пакете). Причина, по которой автор считает решение о таком размещении вкладки Package Explorer не совсем оправданным, заключается в том, что указанный древовидный интерфейс с большей вероятностью должен был стать частью программы Solution Explorer или по крайней мере быть организованным по аналогии с этой программой. Но как бы то ни было, вкладка Package Explorer действительно позволяет просматривать в проекте любые уровни пакета. Окно Solution Explorer Окно Solution Explorer в значительной степени напоминает любое подобное окно проводника в программе Development Studio. В этом окне приведен список всех файлов, которые относятся к рассматриваемому проекту, отсортированный по гсатегориям файлов (например, с учетом того, относится ли файл к пакетам или представлениям источника данных). Окно Properties Окно Properties в основном аналогично любым другим окнам свойств, с которыми приходится сталкиваться в процессе работы с СУБД SQL Server и программой Development Studio. Единственная существенная сложность, которую необходимо учитывать во время работы с этим окном, состоит в том, что интересующие вас объекты нужно выбирать очень внимательно, чтобы случайно не указать вместо того объекта, для которого должны быть заданы свойства, какой-то другой. Если выбран какой-то объект в пакете, скажем, конкретная задача или объект типа событие , то раскрываются свойства, относящиеся именно к этому объекту. Если же ничего не выбрано, то раскроются свойства, относящиеся ко всему пакету. Пример создания простого пакета На основе описанных выше программных средств вполне могут быть созданы практически применимые приложения. Пример, приведенный в данном разделе, является кратким и несложным, но в нем будут продемонстрированы некоторые из основных особенностей службы SSIS. Но вначале необходимо выполнить некоторую подготовительную работу. Для рассматриваемого примера будет использоваться файл сценария vbScript, с помощью которого подготавливаются данные, предназначенные для импорта. Этот сценарий можно считать образцом любого сценария предварительной обработки, который должен быть выполнен перед осуществлением любой важной операции импорта или экспорта. Подготовьте текстовый файл CreatelmportText. vbs со следующим кодом: Dim iCounter Dim oFS Dim oMyTextFile Set oFS = CreateObject( Scripting.FileSystemObject ) Set OMyTextFile = oFS.CreateTextFile( C:\TestImport.txt , True) For iCounter = 1 to 10 oMyTextFile.WriteLine(cstr(iCounter) & vbTab & TestCol & cstr(iCounter) & ) Next OMyTextFile.Close В ходе выполнения этого сценария будет создан новый текстовый файл (или заменен ранее созданный файл, если таковой имеется). Сценарий вводит в файл десять строк текста, состоящих из двух столбцов, разделенных знаками табуляции. Строки оканчивают ся признаками конца строки. Подготовленный файл будет использоваться для создания и формирования таблицы в СУБД SQL Server также в нескольких других задачах. Приведенный пример является довольно упрощенным, но вполне позволяет ознакомиться на практике с необходимыми сведениями. Следует еще раз подчеркнуть, что обычно в ходе выполнения пакета прежде всего осуществляется некоторая предварительная подготовка (в рассматриваемом примере эта подготовка сводится к формированию файла с данными, но вместо этого могло бы осуществляться какое-то другое необходимое действие), после чего управление передается СУБД SQL Server и выполняются необходимые действия по преобразованию данных. На данный момент подготовка завершена и с помощью сценария vbScript сформирован файл с данными, поэтому приступим к созданию пакета. Начнем с файла проекта SSISPreject, который рассматривался в предыдущем разделе. На этом этапе вкладка Control Flow должна быть пустой. Первый шаг, предусматривающий подготовку данных, нам известен, поэтому прежде всего обеспечим вызов сценария vbScript, с помощью которого будет сформирован текстовый файл,
|
© 2006 - 2024 pmbk.ru. Генерация страницы: 0.001
При копировании материалов приветствуются ссылки. |