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


Образец ForEachDirectory

Изменения: 5 декабря 2005 г.

Этот образец кода демонстрирует создание пользовательского перечислителя и интерфейса для настройки его свойств с использованием .NET Framework и управляемого кода. Этот образец не поддерживается на архитектуре IA64.

Выполнение образца

Если вы уже умеете находить, строить и устанавливать образцы программного кода, можно перейти непосредственно к разделу Проверка образца и прочитать о настройке и запуске образца программного кода.

Предварительные требования

Образец ForEachDirectory требует наличия следующих установленных компонентов.

  • Пакет .NET Framework SDK 2.0 или среда Microsoft Visual Studio 2005. Пакет .NET Framework SDK можно получить бесплатно. См. раздел Установка пакета .NET Framework SDK электронной документации.
  • Microsoft SQL Server 2005 Integration Services.
ms160909.note(ru-ru,SQL.90).gifВажно!
Образцы предназначены только для обучения. Они не предназначены для использования в рабочей среде и не тестировались в ней. Корпорация Майкрософт не предоставляет техническую поддержку для этих образцов.

Расположение

Если образец кода был установлен в каталог по умолчанию, то он расположен в следующем каталоге.

C:\Program Files\Microsoft SQL Server\100\Samples\Integration Services\\Programming Samples\Control Flow\ForEachDirectory Sample

Решение для образца кода на языке C# расположено в каталоге CS, а решение на языке Visual Basic — в каталоге VB.

Сведения о двухэтапном процессе установки образцов см. в разделе Установка образцов. Чтобы получить последнюю версию образцов, включая новые, выпущенные после исходной версии SQL Server 2005, см. веб-страницу «Образцы SQL Server 2005 и образцы баз данных (апрель 2006 г.)».

Построение образца

Если файл ключа для строгого имени не был создан ранее, создайте его с помощью следующей процедуры.

Создание файла ключа для строгого имени

  1. Чтобы открыть командную строку Microsoft Visual Studio 2005, нажмите кнопку Пуск, укажите последовательно пункты Все программы, Microsoft Visual Studio 2005, Средства Visual Studio и выберите пункт Командная строка Visual Studio 2005.

    — или —

    Чтобы открыть командную строку Microsoft .NET Framework, нажмите кнопку Пуск, укажите последовательно пункты Все программы, Microsoft .NET Framework SDK 2.0 и выберите пункт Командная строка SDK.

  2. Для перехода из текущей папки в папку «Samples» в командной строке используйте команду смены каталога (CD). Созданный файл ключа будет использоваться всеми образцами кодов Microsoft SQL Server 2005.

    ms160909.note(ru-ru,SQL.90).gifПримечание.
    Для определения папки, в которой находятся образцы, нажмите кнопку Пуск, последовательно укажите пункты Все программы, Microsoft SQL Server 2005, Документация и учебные материалы и выберите пункт Каталог образцов. Если использовался каталог установки по умолчанию, то образцы находятся в каталоге «<системный_диск>:\Program Files\Microsoft SQL Server\90\Samples».
  3. Для создания файла ключа выполните следующую команду в командной строке:

    sn -k SampleKey.snk

    ms160909.note(ru-ru,SQL.90).gifВажно!
    Дополнительные сведения о паре ключей для строгого имени см. в разделе «Краткие сведения о безопасности: Строгие имена и безопасность в платформе .NET Framework» в центре для разработчиков .NET в MSDN.
  4. Для выполнения следующего шага необходимо извлечь маркер открытого ключа из файла ключа. Для этого сначала необходимо извлечь из ключевого файла открытый ключ, выполнив в командной строке следующую команду:

    sn -p SampleKey.snk SampleKeyPublic.snk

  5. Выведите маркер открытого ключа, выполнив в командной строке следующую команду:

    sn -t SampleKeyPublic.snk

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

Построение образца

  1. Откройте Microsoft Visual Studio 2005.

  2. В меню Файл | Открыть выберите пункт Проект и откройте файл ForEachDirectory.sln в соответствующем каталоге образцов (CS для C# или VB для Visual Basic).

  3. В обозревателе решений выберите код ForEachDirectory.cs или ForEachDirectory.vb.

  4. Найдите в коде атрибут DtsTask. В соответствующей строке кода файла IncrementTask.cs замените существующее значение маркера открытого ключа в свойстве атрибута UITypeName. Символьное значение после текста "PublicKeyToken =" должно быть заменено одним из выведенных командой sn -t, полученных при выполнении предыдущего шага.

  5. Чтобы построить библиотеку DLL для проекта, выберите в меню пункт Построить / Построить ForEachDirectory.

Установка DLL-библиотеки в папку ForEachEnumerator и глобальный кэш сборок

Этот образец предоставлен в обоих вариантах, Visual Basic и C#. Чтобы различать между собой сборки для каждой версии образца, к имени выходной сборки добавляется CS или VB. После успешного построения компонента он должен быть скопирован в папку ForEachEnumerators, а затем добавлен в глобальный кэш сборок, что позволит использовать его в среде Business Intelligence Development Studio.

Установка компонента в папку ForEachEnumerators

  1. Скопируйте сборку (файл ForeachDirectoryCS.dll или ForeachDirectoryVB.dll) в следующую папку: %system%\Program Files\Microsoft SQL Server\90\DTS\ForEachEnumerators.

  2. Откройте папку глобального кэша сборок %system%\assembly. На большинстве компьютеров это каталог C:\Windows\assembly.

  3. Выберите сборку в первом окне, а затем перетащите ее в папку assembly.

Установка компонента в глобальный кэш сборок перетаскиванием сборки

  1. Скопируйте сборку (файл ForeachDirectoryCS.dll или ForeachDirectoryVB.dll) в следующую папку: %system%\Program Files\Microsoft SQL Server\90\DTS\ForEachEnumerators.

  2. Откройте папку глобального кэша сборок %system%\assembly. На большинстве компьютеров это каталог C:\Windows\assembly.

  3. Выберите сборку в первом окне, а затем перетащите ее в папку assembly.

Установка компонента в глобальный кэш сборок при помощи программы gacutil.exe

  1. Откройте окно командной строки.

  2. Введите следующую команду для установки версии компонента на языке C# и интерфейса пользователя в глобальный кэш сборок:

    gacutil.exe -iF "c:\Program Files\Microsoft Sql Server\90\DTS\ ForEachEnumerators\ForEachDirectoryCS.dll"

  3. Для установки версии компонента на Visual Basic и интерфейса пользователя в глобальный кэш сборок введите следующую команду:****

    gacutil.exe -iF "c:\Program Files\Microsoft Sql Server\90\DTS\ForeachEnumerators\ForeachDirectoryVB.dll"

Примечание Для простоты интерфейс этого образца был размещен в том же проекте, что и код задачи. Таким образом, остается лишь скопировать библиотеку в каталог сборки. Если кодирование пользовательского интерфейса производилось в виде отдельного проекта, то библиотеку, содержащую пользовательский интерфейс, необходимо добавить в глобальный кэш сборок вместе с библиотекой кода. Однако в заданный каталог необходимо компилировать только код.

По завершении этих шагов перечислитель будет доступен в окне Редактор циклов по каждому элементу контейнера «цикл по элементам».

Использование образца в среде Business Intelligence Development Studio

  1. Откройте среду Business Intelligence Development Studio.

  2. Выберите в меню пункт Файл / Создать / Проект.

  3. В диалоговом окне Создать проект на панели Типы проекта выберите Проекты бизнес-аналитики, а затем справа выберите Проект SSIS.

  4. В поле Имя в качестве имени нового проекта введите ForEachDirectory.

  5. В поле Расположение выберите место для сохранения файла. Нажмите кнопку ОК.

  6. В диалоговом окне диалоговом окне Обозреватель решений дважды щелкните файл Package.dtsx.

  7. В окне Расположение выберите место для сохранения файла. Нажмите кнопку ОК.

  8. В диалоговом окне Обозревателе решений дважды щелкните файл Package.dtsx.

  9. Добавление контейнера ForEachLoop в область управления потоком пакета.

  10. Откройте окно «Редактор циклов по каждому элементу», дважды щелкнув контейнер ForEachLoop, добавленный при выполнении первого шага.

  11. Выберите узел Коллекция, а затем в раскрывающемся списке «Перечислитель» выберите перечислитель ForEachDirectory.

  12. Задайте значения для свойств перечислителя ForEachDirectory и нажмите кнопку OK.

Проверка образца

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

Свойство Описание

RootDirectorySource

Определяет источник для свойства RootDirectory, которое может быть задано с помощью свойств ConnectionManager, Variable или DirectInput.

RootDirectory

Определяет каталог, с которого начинается выполнение перечисления данным перечислителем.

IncludeRootDirectory

Определяет, включается ли корневой каталог в число каталогов, подлежащих перечислению.

EnumerateSubFolders

Определяет, подлежат ли перечислению папки, вложенные в папки корневого каталога.

SiblingFoldersBeforeSubFolders

Если свойство EnumerateSubFolders имеет значение true, то определяет, что подлежит перечислению в первую очередь: соседние папки или полная структура каталога.

Журнал изменений

Версия Журнал

17 июля 2006 г.

5 декабря 2005 г.

Новое содержимое
  • Добавлены инструкции по использованию образца в среде Business Intelligence Development Studio.
  • Добавлена таблица с описанием свойств пользовательского интерфейса.