Ескертпе
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Жүйеге кіруді немесе каталогтарды өзгертуді байқап көруге болады.
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Каталогтарды өзгертуді байқап көруге болады.
Область применения:SQL Server
среда выполнения интеграции SSIS в Фабрика данных Azure
Преобразование «Уточняющий запрос» выполняет уточняющие запросы, объединяя данные во входных столбцах со столбцами в ссылочном наборе данных. Уточняющие запросы используются для доступа к дополнительной информации в связанной таблице, основанной на значениях в общих столбцах.
Эталонный набор данных может быть файлом кэша, существующей таблицей или представлением, новой таблицей или результатом SQL-запроса. Преобразование «Уточняющий запрос» использует для подключения к эталонному набору данных диспетчер соединений OLE DB или диспетчер соединений с кэшем. Дополнительные сведения см. в разделах OLE DB диспетчер подключений и Cache диспетчер подключений.
Преобразование Lookup можно настроить следующими способами:
Выбрать необходимый диспетчер соединений. Если необходимо подключится к базе данных, выберите диспетчер соединений OLE DB. Если необходимо подключится к файлу кэша, выберите диспетчер соединений с кэшем.
Указать таблицу или представление, содержащие эталонный набор данных.
Создайте эталонный набор данных, указав инструкцию SQL.
Указать соединения между входом и эталонным набором данных.
Добавить столбцы из эталонного набора данных в выходные данные преобразования «Поиск».
Настроить параметры кэширования.
Преобразование «Уточняющий запрос» поддерживает следующие поставщики базы данных для диспетчера соединений OLE DB:
-
SQL Server
Oracle;
DB2
Преобразование «Уточняющий запрос» пытается выполнить эквивалентное соединение значений на входе преобразования и значений в эталонном наборе данных. Эквивалентное соединение означает, что каждая строка на входе преобразования должна соответствовать, по крайней мере, одной строке из эталонного набора данных. Если эквивалентное соединение невозможно, преобразование «Уточняющий запрос» выполняет одно из следующих действий.
Если в эталонном наборе данных не существует совпадающих записей, то соединения не происходит. По умолчанию преобразование «Поиск» считает строки, для которых не найдены совпадающие записи, ошибочными. Однако вы можете настроить преобразование "Lookup" так, чтобы такие строки перенаправлялись на выход "Нет совпадений".
Если в ссылочной таблице содержится несколько соответствующих записей, преобразование «Уточняющий запрос» возвращает только первое соответствие, возвращаемое уточняющим запросом. Если было найдено несколько совпадений, преобразование «Уточняющий запрос» формирует ошибку или предупреждение только в том случае, если оно было настроено для загрузки всего эталонного набора данных в кэш. В этом случае преобразование «Поиск» выдает предупреждение, если при заполнении кэша обнаруживает несколько совпадений.
Соединение может быть составным. Это значит, что можно объединить несколько столбцов на входе преобразования со столбцами в эталонном наборе данных. Преобразование поддерживает соединение столбцов с любыми типами данных, кроме DT_R4, DT_R8, DT_TEXT, DT_NTEXT и DT_IMAGE. Дополнительные сведения см. в разделе Integration Services Data Types.
Обычно значения из эталонного набора данных добавляются к выходу преобразования. Например, преобразование «Уточняющий запрос» может извлечь название продукта из таблицы, используя значение из входного столбца, затем добавить название продукта в выход преобразования. Значения из ссылочной таблицы могут заменить значения столбца или могут быть добавлены в новый столбец.
Уточняющие запросы выполняются преобразованием «Уточняющие запросы» с учетом регистра. Чтобы избежать сбоев поиска, вызванных различиями регистра в данных, можно предварительно преобразовать данные в верхний или нижний регистр с помощью преобразования «Таблица символов». Затем следует включить функции UPPER или LOWER в инструкцию SQL, создающую ссылочную таблицу. Дополнительные сведения см. в разделах Преобразование "Таблица символов", UPPER (Transact-SQL) и LOWER (Transact-SQL).
Преобразование «Уточняющий запрос» имеет следующие входы и выходы.
Ввод.
Выход совпадающих строк. Выход совпадений обрабатывает строки на входе преобразования, которые совпадают по крайней мере с одной записью в справочном наборе данных.
Вывод без совпадений. Выход «Нет совпадений» обрабатывает входные строки, которые не соответствуют ни одной записи в эталонном наборе данных. Если преобразование «Поиск» настроено на обработку строк, для которых не найдены совпадающие записи, как ошибок, эти строки перенаправляются на выход ошибок. В противном случае преобразование перенаправит эти строки в выход для несовпадающих строк.
Вывод ошибок.
Кэширование эталонного набора данных
В кэше в памяти хранится эталонный набор данных и хэш-таблица, индексирующая данные. Кэш остается в памяти, пока не завершится выполнение пакета. Можно сохранить кэш в файл кэша (.caw).
Когда вы сохраняете кэш в файл, система загружает кэш быстрее. Это повышает производительность преобразования «Уточняющий запрос» и пакета. Помните, что при использовании кэш-файла работа идет с данными, которые менее актуальны, чем данные в базе данных.
Сохранение кэша в файл имеет следующие преимущества.
Предоставьте общий доступ к файлу кэша между несколькими пакетами. Дополнительные сведения см. в разделеРеализация преобразования поиска в режиме полного кэширования с помощью диспетчера подключений кэша.
Разверните файл кэша вместе с пакетом. Затем можно использовать эти данные на нескольких компьютерах. Дополнительные сведения см. в разделе Создание и развертывание кэша для преобразования "Уточняющий запрос".
Чтобы считывать данные из кэш-файла можно использовать источник «Необработанный файл». Затем можно использовать другие компоненты потока данных, чтобы преобразовать или переместить данные. Дополнительные сведения см. в статье Raw File Source.
Примечание.
Диспетчер соединений с кэшем не поддерживает кэш-файлы, которые были созданы или изменены с помощью назначения «Необработанный файл».
Чтобы совершать операции и задавать атрибуты кэш-файлов, можно использовать задачу «Файловая система». Дополнительные сведения см. в разделе File System Task.
Далее приводятся режимы кэширования.
Эталонный набор данных создается с помощью таблицы, представления или SQL-запроса и загружается в кэш до запуска преобразования «Уточняющий запрос». Для доступа к набору данных можно использовать диспетчер соединений OLE DB.
Этот режим кэширования совместим с режимом полного кэширования, доступным для преобразования Lookup в службах Integration Services SQL Server 2005 (SSIS).
Справочный набор данных создается из подключенного источника данных в потоке данных или из файла кэша, а затем загружается в кэш перед выполнением преобразования «Поиск». Для доступа к набору данных вы используете диспетчер подключений Cache и, при необходимости, преобразование Cache. Дополнительные сведения см. в разделах Cache диспетчер подключений и Cache Transform.
Эталонный набор данных создаётся с использованием таблицы, представления или SQL-запроса во время выполнения преобразования «Поиск». Строки с совпадающими записями в эталонном наборе данных и строки без совпадающих записей в наборе данных загружаются в кэш.
Когда превышается объем памяти кэша, преобразование «Уточняющий запрос» автоматически удаляет из кэша строки, которые используются реже всего.
Этот параметр кэширования совместим с параметром частичного кэширования, доступным для преобразования поиска в SQL Server 2005 Integration Services (SSIS).
Справочный набор данных создается с использованием таблицы, представления или SQL-запроса при выполнении преобразования «Lookup». Данные не кэшируются.
Этот параметр кэширования совместим с параметром «Без кэширования», доступным для преобразования «Подстановка» в SQL Server 2005 Integration Services (SSIS).
Службы Integration Services и SQL Server отличаются тем, как они сравнивают строки. Если преобразование Lookup настроено на загрузку эталонного набора данных в кэш до запуска преобразования Lookup, то в Integration Services сопоставление при поиске выполняется в кэше. В противном случае операция поиска использует параметризованный оператор SQL, а SQL Server выполняет сравнение при поиске. Это означает, что преобразование "Lookup" может возвращать разное количество совпадений в одной и той же таблице подстановки в зависимости от типа кэша.
Связанные задачи
Свойства могут быть заданы с помощью конструктора SSIS или программным путем. Дополнительные сведения см. в следующих разделах.
Редактор преобразования "Уточняющий запрос" (страница "Общие")
Используйте страницу Общие в диалоговом окне «Редактор преобразования "Уточняющий запрос"», чтобы выбрать режим кэширования, выбрать тип соединения и указать метод обработки строк без совпадающих записей.
Параметры
Примечание.
Выходные данные сопоставления могут отличаться в зависимости от того, используется ли режим полного кэша, режим кэша без кэша или режим частичного кэша:
- В режиме полного кэша база данных запрашивается один раз во время предварительного выполнения потока данных, а весь ссылочный набор извлекается в память. Это означает, что мы будем использовать правило сопоставления механизма SSIS, чувствительное к регистру, конечным пробелам, а также к точности и масштабу числовых значений.
- Однако при отсутствии кэша или режима частичного кэша кэширование не выполняется во время этапа предварительного выполнения. Это означает, что мы будем использовать правило сопоставления исходной базы данных. Например, если источником является база данных SQL Server и если сортировка столбца не учитывает регистр, то правило сопоставления также должно выполняться без учета регистра.
Полное кэширование
Формировать и загружать эталонный набор данных в кэш до запуска преобразования «Уточняющий запрос».
Частичное кэширование
Создайте эталонный набор данных во время выполнения преобразования «Поиск». Загружать в кэш строки с совпадающими записями в эталонном наборе данных и строки без совпадающих записей в наборе данных.
Без кэширования
Создайте эталонный набор данных во время выполнения преобразования «Lookup». Данные в кэш не загружаются.
Диспетчер соединений с кэшем
Настроить преобразование «Уточняющий запрос» на использование диспетчера соединений с кэшем. Этот параметр доступен только в случае, если выбран параметр «Полное кэширование».
Диспетчер соединений OLE DB
Настройте преобразование «Поиск» для использования диспетчера подключений OLE DB.
Метод обработки строк без совпадающих элементов
Выбрать режим для обработки строк, не имеющих совпадения ни с одной из записей в эталонном наборе данных.
Если выбрать Перенаправлять строки в выход без совпадений, строки будут перенаправлены в выход без совпадений и не будут считаться ошибками. Параметр Ошибка на странице Вывод ошибок диалогового окна Редактор преобразования «Поиск» недоступен.
При выборе любого другого параметра в списке Метод обработки строк без совпадающих элементов , строки будут обрабатываться как ошибки. Параметр Ошибка доступен на странице Вывод ошибок .
Внешние ресурсы
Запись в блоге: Режимы кэша поиска на сайте blogs.msdn.com
Редактор преобразования "Уточняющий запрос" (страница "Подключение")
Используйте страницу Соединение в диалоговом окне Редактор преобразования «Подстановка» для выбора диспетчера соединений. При выборе диспетчера соединений OLE DB также выбирается и запрос, таблица или представление для формирования эталонного набора данных.
Параметры
При выборе пунктов Полное кэширование и Диспетчер соединений с кэшем на странице «Общие» диалогового окна Редактор преобразования «Уточняющий запрос» доступны следующие параметры.
Диспетчер соединений с кэшем
Выберите из списка существующий диспетчер соединений с кэшем или создайте новое соединение, нажав кнопку Создать.
Новинка
Создайте новое соединение с помощью диалогового окна Редактор диспетчера соединений с кэшем .
При выборе пунктов Полное кэширование, Частичное кэшированиеили Без кэширования, а также Диспетчер соединений OLE DBна странице «Общие» диалогового окна Редактор преобразования «Уточняющий запрос» доступны следующие параметры.
Диспетчер соединений OLE DB
Выберите существующий диспетчер соединений OLE DB из списка или создайте новое подключение, выбрав пункт Создать.
Новинка
Создайте новое соединение с помощью диалогового окна Настройка диспетчера соединений OLE DB .
Использовать таблицу или представление
Выберите существующую таблицу или представление из списка или создайте новую таблицу, выбрав пункт Создать.
Примечание.
Если на странице Дополнительноредактора преобразования «Подстановка» указан SQL-запрос, он имеет приоритет над выбранным здесь именем таблицы и заменяет его.
Новинка
Создайте новую таблицу с помощью диалогового окна Создание таблицы .
Использование результатов SQL-запроса
Выберите этот параметр, чтобы перейти к существующему запросу, создать новый запрос, проверить синтаксис запроса и результаты предварительного просмотра.
Создать запрос
Создайте для выполнения инструкцию Transact-SQL с помощью Построителя запросов, графического средства, используемого для создания запросов с помощью просмотра данных.
Просмотр
Используйте этот параметр, чтобы перейти к предварительно существующему запросу, сохраненном в виде файла.
Анализ запроса
Проверка синтаксиса запроса.
Предварительный просмотр
Просмотрите предварительные результаты, используя диалоговое окно Предварительный просмотр результатов запроса . В окне предварительного просмотра может отображаться до 200 строк.
Внешние ресурсы
Запись в блоге: Режимы кэша поиска на сайте blogs.msdn.com
Редактор преобразования "Уточняющий запрос" (страница "Столбцы")
Используйте страницу Столбцы диалогового окна Редактор преобразования «Уточняющий запрос» , чтобы указать соединение между исходной и ссылочной таблицами и выбрать уточняющие столбцы из ссылочной таблицы.
Параметры
Доступные входные столбцы
Просмотрите список доступных входных столбцов. Входные столбцы — это столбцы в потоке данных из подключенного источника. Входной и уточняющий столбец должны иметь одинаковый тип данных.
Чтобы сопоставить доступные входные столбцы с уточняющими столбцами, воспользуйтесь операцией перетаскивания.
Также можно сопоставить входные и уточняющие столбцы с помощью клавиатуры, выделив цветом столбец в таблице Доступные входные столбцы , нажав клавишу «Приложение» и выбрав пункт Изменить сопоставления.
Доступные уточняющие столбцы
Просмотр списка уточняющих столбцов. Уточняющие столбцы представляют собой столбцы в ссылочной таблице, в которых должен производиться поиск значений, совпадающих с входными столбцами.
Чтобы сопоставить доступные уточняющие столбцы с входными столбцами, воспользуйтесь операцией перетаскивания.
С помощью флажков выберите уточняющие столбцы в ссылочной таблице, по которым будет выполняться уточняющий запрос.
Также можно сопоставить входные и уточняющие столбцы с помощью клавиатуры, выделив цветом столбец в таблице Доступные уточняющие столбцы , нажав клавишу «Приложение» и выбрав пункт Изменить сопоставления.
Столбец поиска
Просмотр выбранных уточняющих столбцов. Выбор отражается установкой флажков в таблице Доступные уточняющие столбцы .
Операция поиска
Выберите из списка операцию уточняющего запроса, которую нужно выполнить для уточняющего столбца.
Псевдоним вывода
Введите псевдоним для выходных данных каждого столбца поиска. По умолчанию используется имя уточняющего столбца, однако можно выбрать любое уникальное описательное имя.
Редактор преобразования "Уточняющий запрос" (страница "Дополнительно")
Используйте вкладку Дополнительно диалогового окна Редактор преобразования «Уточняющий запрос» для настройки частичного кэширования и для изменения инструкции SQL для преобразования «Уточняющий запрос».
Параметры
Размер кэша (32-разрядная версия)
Настройте размер кэша (в мегабайтах) для 32-разрядных компьютеров. Значение по умолчанию — 5 мегабайт.
Размер кэша (64-разрядная версия)
Настройте размер кэша (в мегабайтах) для 64-разрядных компьютеров. Значение по умолчанию — 5 мегабайт.
Включить кэширование для строк с несовпадающими записями
Кэшировать строки без совпадающих элементов в эталонном наборе данных.
Размещение из кэша
Задать долю кэша (в процентах), которую следует выделять для строк без совпадающих элементов в эталонном наборе данных.
Изменить инструкцию SQL
Изменить инструкцию SQL, которая используется для формирования эталонного набора данных.
Примечание.
Необязательный оператор SQL, который вы укажете на этой странице, переопределяет и заменяет имя таблицы, указанное на странице Соединение редактора преобразования «Подстановка». .
Задать параметры
Сопоставить входные столбцы с параметрами, используя диалоговое окно Установка параметров запроса .
Внешние ресурсы
Запись в блоге: Режимы кэша поиска на сайте blogs.msdn.com