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


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

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

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

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

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

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

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

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

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

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

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

  • SQL Server

  • Oracle;

  • DB2

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

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

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

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

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

  • Ввод.

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

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

    Примечание.

    В SQL Server 2005 Integration Services (SSIS) преобразование подстановки имело только один выход. Дополнительные сведения о том, как запустить преобразование подстановки, созданное в SQL Server 2005, см. в разделе "Преобразования подстановки обновления".

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

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

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

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

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

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

  • Развертывание кэш-файла с пакетом. Затем можно использовать эти данные на нескольких компьютерах. Дополнительные сведения см. в разделе Создание и развертывание кэша для преобразования "Уточняющий запрос".

  • Чтобы считывать данные из кэш-файла можно использовать источник «Необработанный файл». Затем можно использовать другие компоненты потока данных, чтобы преобразовать или переместить данные. Дополнительные сведения см. в статье Raw File Source.

    Примечание.

    Диспетчер соединений с кэшем не поддерживает кэш-файлы, которые были созданы или изменены с помощью назначения «Необработанный файл».

  • Чтобы совершать операции и задавать атрибуты кэш-файлов, можно использовать задачу «Файловая система». Дополнительные сведения см. в разделе File System Task.

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

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

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

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

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

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

    Этот параметр кэширования совместим с параметром частичного кэширования, доступным для преобразования поиска в SQL Server 2005 Integration Services (SSIS).

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

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

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

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

См. также

Преобразование «Нечеткий уточняющий запрос»
Преобразование "Уточняющий запрос термина"
Поток данных
Преобразования служб Integration Services