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


Как реализовать преобразование «Уточняющий запрос» в режиме полного кэширования с помощью преобразования диспетчера соединений с кэшем

Можно настроить преобразование «Уточняющий запрос», чтобы использовать режим полного кэширования и диспетчер соединений с кэшем. В режиме полного кэширования эталонный набор данных загружается в кэш еще до запуска преобразования «Уточняющий запрос».

ПримечаниеПримечание

Диспетчер соединений с кэшем не поддерживает следующие типы данных больших двоичных объектов (BLOB): DT_TEXT, DT_NTEXT и DT_IMAGE. Если эталонный набор данных содержит данные типа BLOB, то при попытке выполнения пакета компонент завершится сбоем. Редактор диспетчера соединений с кэшем можно использовать для изменения типов данных столбцов. Дополнительные сведения см. в разделе Редактор диспетчера кэшируемых соединений.

Преобразование «Уточняющий запрос» выполняет уточняющие запросы, соединяя данные из входных столбцов подключенного источника данных и данные из столбцов в эталонном наборе данных. Дополнительные сведения см. в разделе Преобразование «Уточняющий запрос».

Чтобы создать эталонный набор данных, используется один из следующих методов.

  • Файл кэша (CAW)

    Диспетчер соединений с кэшем настраивается на считывание данных из существующего файла кэша.

  • Подключенный источник данных в потоке данных

    Используется преобразование «Преобразование кэша» для записи данных из подключенного источника данных в поток данных с помощью диспетчера соединений с кэшем. Данные всегда сохраняются в памяти.

    Необходимо добавить преобразование «Уточняющий запрос» к отдельному потоку данных. Это позволяет использовать преобразование «Преобразование кэша» для заполнения данными диспетчера соединений с кэшем перед выполнением преобразования «Уточняющий запрос». Потоки данных могут находиться в том же пакете или в двух разных пакетах.

    Если потоки данных находятся в одном и том же пакете, чтобы подключить потоки данных, используется управление очередностью. Это позволяет запустить преобразование «Преобразование кэша» до выполнения преобразования «Уточняющий запрос».

    Если потоки данных находятся в отдельных пакетах, можно использовать задачу «Выполнение пакета», чтобы вызвать дочерний пакет из родительского пакета. Можно вызывать несколько дочерних пакетов, добавляя несколько задач «Выполнение пакета» к задаче «Контейнер последовательности» в родительском пакете.

Можно обеспечить совместное использование эталонного набора данных, хранимого в кэше, несколькими преобразованиями «Уточняющий запрос» с помощью одного из следующих методов.

  • Настроить преобразования «Уточняющий запрос» в единственном пакете для использования одного и того же диспетчера соединений с кэшем.

  • Настроить диспетчеры соединений с кэшем в разных пакетах, чтобы использовать один и тот же файл кэша.

Дополнительные сведения см. в следующих разделах.

Видеоматериал, в котором показано, как реализовать преобразование «Уточняющий запрос» в режиме полного кэширования с помощью диспетчера соединений с кэшем, см. по адресу.

Реализация преобразования «Уточняющий запрос» в режиме полного кэширования в одном пакете с использованием диспетчера соединений с кэшем и источника данных в потоке данных

  1. В среде Business Intelligence Development Studio откройте проект служб Integration Services, а затем откройте пакет.

  2. На вкладке Поток управления добавьте две задачи потока данных, а затем соедините эти задачи с помощью зеленого соединителя.

  3. В первом потоке данных добавьте преобразование «Преобразование кэша», а затем подключите это преобразование к источнику данных.

    При необходимости настройте источник данных.

  4. Дважды щелкните «Преобразование кэша», а затем в окне Редактор преобразований кэша на странице Диспетчер соединений нажмите кнопку Создать, чтобы создать новый диспетчер соединений с кэшем.

  5. Перейдите на вкладку Столбцы диалогового окна Редактор диспетчера соединений с кэшем и с помощью параметра Значение индекса укажите, какие столбцы являются индексными столбцами.

    Для неиндексированных столбцов позиция индекса равна 0. Для индексированных столбцов позиция индекса является положительным порядковым номером.

    ПримечаниеПримечание

    Если преобразование «Уточняющий запрос» настроено для использования диспетчера соединений с кэшем, то только индексированные столбцы в ссылочном наборе данных могут быть сопоставлены с входными столбцами. Кроме того, все столбцы индекса должны быть сопоставлены. Дополнительные сведения см. в разделе Редактор диспетчера кэшируемых соединений.

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

    • Выберите Использовать кэш файлов.

    • В поле Имя файла введите имя файла или нажмите кнопку Обзор и выберите файл.

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

    ПримечаниеПримечание

    Уровень защиты пакета не применяется к кэшируемому файлу. Если кэшируемый файл содержит важные данные, используйте список управления доступом (ACL), чтобы запретить доступ к расположению или папке, в которой хранится файл. Доступ следует разрешить только определенным учетным записям. Дополнительные сведения см. в разделе Управление доступом к файлам, используемым пакетами.

  7. При необходимости настройте преобразование кэша. Дополнительные сведения см. в разделах Редактор преобразования «Кэш» (страница «Диспетчер соединений») и Редактор преобразования «Кэш» (страница «Сопоставления»).

  8. Во втором потоке данных добавьте преобразование «Уточняющий запрос», а затем настройте преобразование, выполнив следующие действия.

    1. Подключите преобразование «Уточняющий запрос» к потоку данных, перетащив соединитель — зеленую или красную стрелку — из источника или предыдущего преобразования в преобразование «Уточняющий запрос».

      ПримечаниеПримечание

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

    2. Чтобы настроить компонент, дважды щелкните источник или предыдущее преобразование.

    3. Дважды щелкните преобразование «Уточняющий запрос», а затем в окне Редактор преобразования «Уточняющий запрос» на странице Общие выберите Полное кэширование.

    4. В области Тип соединения выберите Диспетчер соединений с кэшем.

    5. В списке Укажите метод обработки строк без совпадающих элементов выберите параметр обработки ошибок.

    6. На странице Соединение выберите диспетчер соединений с кэшем в списке Диспетчер соединений с кэшем.

    7. Перейдите на страницу Столбцы и перетащите хотя бы один из столбцов в списке Доступные входные столбцы в столбец из списка Доступные столбцы подстановки.

      ПримечаниеПримечание

      Преобразование «Уточняющий запрос» автоматически сопоставляет столбцы, которые обладают одинаковыми названиями и типами данных.

      ПримечаниеПримечание

      Типы данных сопоставляемых столбцов должны совпадать. Дополнительные сведения см. в разделе Типы данных служб Integration Services.

    8. В списке Доступные столбцы подстановки выберите столбцы. Затем в списке Операция поиска задайте, будут ли значения из столбцов подстановки замещать значения из входных столбцов или же они будут перезаписаны в новый столбец.

    9. Чтобы настроить вывод ошибок, перейдите на страницу Вывод ошибок и задайте параметры обработки ошибок. Дополнительные сведения см. в разделе Редактор преобразования «Уточняющий запрос» (страница «Вывод ошибок»).

    10. Чтобы сохранить изменения в преобразовании «Уточняющий запрос», нажмите кнопку ОК.

  9. Запустите пакет.

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

  1. В среде Business Intelligence Development Studio откройте проект служб Integration Services, а затем откройте два пакета.

  2. На вкладке «Поток управления» в каждом пакете добавьте задачу потока данных.

  3. В родительском пакете добавьте к потоку данных преобразование «Преобразование кэша», а затем подключите преобразование к источнику данных.

    При необходимости настройте источник данных.

  4. Дважды щелкните «Преобразование кэша», а затем в окне Редактор преобразований кэша на странице Диспетчер соединений щелкните Создать, чтобы создать новый диспетчер соединений с кэшем.

  5. В окне Редактор диспетчера соединений с кэшем на вкладке Общие настройте диспетчер соединений с кэшем. Для этого задайте следующие параметры.

    • Выберите Использовать кэш файлов.

    • В поле Имя файла введите имя файла или нажмите кнопку Обзор и выберите файл.

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

    ПримечаниеПримечание

    Уровень защиты пакета не применяется к кэшируемому файлу. Если кэшируемый файл содержит важные данные, используйте список управления доступом (ACL), чтобы запретить доступ к расположению или папке, в которой хранится файл. Доступ следует разрешить только определенным учетным записям. Дополнительные сведения см. в разделе Управление доступом к файлам, используемым пакетами.

  6. Перейдите на вкладку Столбцы, а затем задайте, какие столбцы будут столбцами индекса, с помощью параметра Позиция индекса.

    Для неиндексированных столбцов позиция индекса равна 0. Для индексированных столбцов позиция индекса является положительным порядковым номером.

    ПримечаниеПримечание

    Если преобразование «Уточняющий запрос» настроено для использования диспетчера соединений с кэшем, то только индексированные столбцы в ссылочном наборе данных могут быть сопоставлены с входными столбцами. Кроме того, все столбцы индекса должны быть сопоставлены. Дополнительные сведения см. в разделе Редактор диспетчера кэшируемых соединений.

  7. При необходимости настройте преобразование кэша. Дополнительные сведения см. в разделах Редактор преобразования «Кэш» (страница «Диспетчер соединений») и Редактор преобразования «Кэш» (страница «Сопоставления»).

  8. Выполните одно из следующих действий, чтобы заполнить данными диспетчер соединений с кэшем, который используется во втором пакете.

    • Запустите родительский пакет.

    • Дважды щелкните диспетчер соединений с кэшем, созданный в шаге 4, нажмите кнопку Столбцы, выделите строки, а затем нажмите клавиши «CTRL» + «C», чтобы скопировать метаданные столбца.

  9. В дочернем пакете создайте диспетчер соединений с кэшем. Для этого щелкните правой кнопкой мыши в области Диспетчеры соединений, нажмите кнопку Создать соединение, выберите значение CACHE в диалоговом окне Добавление диспетчера соединений служб SSIS, а затем нажмите кнопку Добавить.

    Область Диспетчеры соединений появится над следующими вкладками конструктора Integration Services: Поток управления, Поток данных и Обработчики событий.

  10. В окне Редактор диспетчера соединений с кэшем на вкладке Общие настройте диспетчер соединений с кэшем на считывание данных из выбранного файла кэша. Для этого задайте следующие параметры.

    • Выберите Использовать кэш файлов.

    • В поле Имя файла введите имя файла или нажмите кнопку Обзор и выберите файл.

    ПримечаниеПримечание

    Уровень защиты пакета к файлу кэша не применяется. Если кэшируемый файл содержит важные данные, используйте список управления доступом (ACL), чтобы запретить доступ к расположению или папке, в которой хранится файл. Доступ следует разрешать только определенным учетным записям. Дополнительные сведения см. в разделе Управление доступом к файлам, используемым пакетами.

  11. Если в шаге 8 были скопированы метаданные столбца, нажмите кнопку Столбцы, выберите пустую строку, а затем нажмите клавиши «CTRL» + «V», чтобы вставить метаданные столбца.

  12. Добавьте преобразование «Уточняющий запрос» и настройте преобразование, выполнив следующие действия.

    1. Подключите преобразование «Уточняющий запрос» к потоку данных, перетащив соединитель — зеленую или красную стрелку — из источника или предыдущего преобразования в преобразование «Уточняющий запрос».

      ПримечаниеПримечание

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

    2. Чтобы настроить компонент, дважды щелкните источник или предыдущее преобразование.

    3. Дважды щелкните преобразование «Уточняющий запрос», а затем выберите Полное кэширование на странице Общее окна Редактор преобразования «Уточняющий запрос».

    4. Выберите Диспетчер соединений с кэшем в области Тип соединения.

    5. Выберите параметр обработки ошибок для строк без совпадающих записей из списка Укажите метод обработки строк без совпадающих элементов.

    6. На странице Соединение выберите из списка Диспетчер соединений с кэшем добавленный диспетчер соединений с кэшем.

    7. Перейдите на страницу Столбцы и перетащите как минимум один из столбцов в списке Доступные входные столбцы в столбец списка Доступные столбцы подстановки.

      ПримечаниеПримечание

      Преобразование «Уточняющий запрос» автоматически сопоставляет столбцы, которые обладают одинаковыми названиями и типами данных.

      ПримечаниеПримечание

      Типы данных сопоставляемых столбцов должны совпадать. Дополнительные сведения см. в разделе Типы данных служб Integration Services.

    8. В списке Доступные столбцы подстановки выберите столбцы. Затем в списке Операция поиска задайте, будут ли значения из столбцов подстановки замещать значения из входных столбцов или же они будут перезаписаны в новый столбец.

    9. Чтобы настроить вывод ошибок, перейдите на страницу Вывод ошибок и задайте параметры обработки ошибок. Дополнительные сведения см. в разделе Редактор преобразования «Уточняющий запрос» (страница «Вывод ошибок»).

    10. Чтобы сохранить изменения в преобразовании «Уточняющий запрос», нажмите кнопку ОК.

  13. Откройте родительский пакет, добавьте задачу «Выполнение пакета» к потоку управления, а затем настройте задачу для вызова дочернего пакета. Дополнительные сведения см. в разделе Задача «Выполнение пакета».

  14. Запустите пакеты.

Реализация преобразования «Уточняющий запрос» в режиме полного кэширования с использованием диспетчера соединений с кэшем и существующего файла кэша

  1. В среде Business Intelligence Development Studio откройте проект Integration Services, а затем откройте пакет.

  2. Щелкните правой кнопкой в области Диспетчеры соединений и выберите команду Создать соединение.

    Область Диспетчеры соединений появится над следующими вкладками конструктора Integration Services: Поток управления, Поток данных и Обработчики событий.

  3. В диалоговом окне Добавление диспетчера соединений со службами SSIS выберите значение CACHE и нажмите кнопку Добавить, чтобы добавить диспетчер соединений с кэшем.

  4. Дважды щелкните диспетчер соединений с кэшем, чтобы открыть окно Редактор диспетчера соединений с кэшем.

  5. В окне Редактор диспетчера соединений с кэшем на вкладке Общие настройте диспетчер соединений с кэшем. Для этого задайте следующие параметры.

    • Выберите Использовать кэш файлов.

    • В поле Имя файла введите имя файла или нажмите кнопку Обзор и выберите файл.

    ПримечаниеПримечание

    Уровень защиты пакета к файлу кэша не применяется. Если кэшируемый файл содержит важные данные, используйте список управления доступом (ACL), чтобы запретить доступ к расположению или папке, в которой хранится файл. Доступ следует разрешить только определенным учетным записям. Дополнительные сведения см. в разделе Управление доступом к файлам, используемым пакетами.

  6. Перейдите на вкладку Столбцы, а затем задайте, какие столбцы будут столбцами индекса, с помощью параметра Позиция индекса.

    Для неиндексированных столбцов позиция индекса равна 0. Для индексированных столбцов позиция индекса является положительным порядковым номером.

    ПримечаниеПримечание

    Если преобразование «Уточняющий запрос» настроено для использования диспетчера соединений с кэшем, то только индексированные столбцы в ссылочном наборе данных могут быть сопоставлены с входными столбцами. Все столбцы индекса должны иметь сопоставления. Дополнительные сведения см. в разделе Редактор диспетчера кэшируемых соединений.

  7. На вкладке Поток управления добавьте задачу потока данных к пакету, а затем добавьте преобразование «Уточняющий запрос» к потоку данных.

  8. Настройте преобразование «Уточняющий запрос», выполнив следующие действия.

    1. Подключите преобразование «Уточняющий запрос» к потоку данных. Для этого перетащите соединитель (зеленую или красную стрелку) из источника или предыдущего преобразования на преобразование «Уточняющий запрос».

      ПримечаниеПримечание

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

    2. Чтобы настроить компонент, дважды щелкните источник или предыдущее преобразование.

    3. Дважды щелкните преобразование «Уточняющий запрос», а затем в окне Редактор преобразования «Уточняющий запрос» на странице Общие выберите Полное кэширование.

    4. Выберите Диспетчер соединений с кэшем в области Тип соединения.

    5. Выберите параметр обработки ошибок для строк без совпадающих записей из списка Укажите метод обработки строк без совпадающих элементов.

    6. На странице Соединение выберите из списка Диспетчер соединений с кэшем добавленный диспетчер соединений с кэшем.

    7. Перейдите на страницу Столбцы и перетащите как минимум один из столбцов в списке Доступные входные столбцы в столбец списка Доступные столбцы подстановки.

      ПримечаниеПримечание

      Преобразование «Уточняющий запрос» автоматически сопоставляет столбцы, которые обладают одинаковыми названиями и типами данных.

      ПримечаниеПримечание

      Типы данных сопоставляемых столбцов должны совпадать. Дополнительные сведения см. в разделе Типы данных служб Integration Services.

    8. В списке Доступные столбцы подстановки выберите столбцы. Затем в списке Операция поиска задайте, будут ли значения из столбцов подстановки замещать значения из входных столбцов или же они будут перезаписаны в новый столбец.

    9. Чтобы настроить вывод ошибок, перейдите на страницу Вывод ошибок и задайте параметры обработки ошибок. Дополнительные сведения см. в разделе Редактор преобразования «Уточняющий запрос» (страница «Вывод ошибок»).

    10. Чтобы сохранить изменения в преобразовании «Уточняющий запрос», нажмите кнопку ОК.

  9. Запустите пакет.