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


Преобразование «Уточняющий запрос»

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

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

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

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

  • Указать таблицу или представление, содержащие эталонный набор данных.

  • Создать эталонный набор данных, указав инструкцию SQL.

  • Указать соединения между входом и эталонным набором данных.

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

  • Настроить параметры кэширования.

Преобразование «Уточняющий запрос» поддерживает следующие поставщики базы данных для диспетчера соединений OLE DB:

  • SQL Server

  • Oracle;

  • DB2.

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

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

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

Соединение может быть составным. Это значит, что можно объединить несколько столбцов на входе преобразования со столбцами в эталонном наборе данных. Преобразование поддерживает соединение столбцов с любыми типами данных, кроме DT_R4, DT_R8, DT_TEXT, DT_NTEXT и DT_IMAGE. Дополнительные сведения см. в разделе Типы данных служб Integration Services.

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

Уточняющие запросы выполняются преобразованием «Уточняющие запросы» с учетом регистра. Чтобы избежать сбоев поиска, вызванных различиями регистра в данных, можно предварительно преобразовать данные в верхний или нижний регистр с помощью преобразования «Таблица символов». Затем следует включить функции UPPER или LOWER в инструкцию SQL, создающую ссылочную таблицу. Дополнительные сведения см. в разделах Преобразование «Таблица символов», UPPER (Transact-SQL) и LOWER (Transact-SQL).

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

  • Вход.

  • Выход совпадающих строк. Выход совпадающих строк обрабатывает строки во входе преобразования, которые не совпадают, по крайней мере, с одной из записей ссылочного набора данных.

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

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

    В службах Службы SQL Server 2005 Integration Services (SSIS) у преобразования «Уточняющий запрос» только один выход. Дополнительные сведения о запуске преобразования «Уточняющий запрос», созданного в SQL Server 2005, см. в разделе Обновление преобразований «Уточняющий запрос».

  • Вывод ошибок на выходе.

Кэширование эталонного набора данных

В кэше в памяти хранится эталонный набор данных и хэш-таблица, индексирующая данные. Кэш остается в памяти, пока не завершится выполнение пакета. Можно сохранить кэш в кэш-файле (CAW).

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

Сохранение кэша в файл имеет следующие преимущества.

Далее приводятся режимы кэширования.

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

    Этот режим кэширования совместим с параметром полного кэширования, доступным для преобразования «Уточняющий запрос» в службах Службы SQL Server 2005 Integration Services (SSIS).

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

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

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

    Этот режим кэширования совместим с параметром частичного кэширования, доступным для преобразования «Уточняющий запрос» в службах Службы SQL Server 2005 Integration Services (SSIS).

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

    Этот режим кэширования совместим с параметром отсутствия кэширования, доступным для преобразования «Уточняющий запрос» в службах Службы SQL Server 2005 Integration Services (SSIS).

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

Связанные задачи

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

См. также

Значок служб Integration Services (маленький) Оставайтесь в курсе последних возможностей служб Integration Services

Чтобы загрузить новейшую документацию, статьи, образцы и видеоматериалы корпорации Майкрософт, а также лучшие решения участников сообщества, посетите страницу служб Службы Integration Services на сайте MSDN:


Чтобы получать автоматические уведомления об этих обновлениях, подпишитесь на RSS-каналы, предлагаемые на этой странице.

См. также

Основные понятия

Преобразование «Нечеткий уточняющий запрос»

Преобразование «Уточняющий запрос термина»

Поток данных

Преобразования служб Integration Services