Назначение OLE DB

Область применения:SQL Server среда выполнения интеграции SSIS в Фабрика данных Azure

Компонент назначения OLE DB загружает данные в различные совместимые с OLE DB базы данных с использованием таблицы, представления или команды SQL. Например, источник OLE DB может загрузить данные в таблицы Microsoft Office Access и базы данных SQL Server.

Примечание.

Если источником данных является Microsoft Office Excel 2007, источник данных требует другого диспетчера соединений, отличного от предыдущих версий Excel. Дополнительные сведения см. в разделе Подключение к книге Excel.

Назначение «OLE DB» предусматривает пять различных режимов доступа для загружаемых данных:

  • Таблица или представление. Можно указать существующую таблицу или представление или создать новую таблицу.

  • Таблица или представление с параметрами быстрой загрузки. Можно указать существующую таблицу или создать новую.

  • Таблица или представление, указанные в переменной.

  • Таблица или представление, указанные в переменной с параметрами быстрой загрузки.

  • Результаты инструкции SQL.

Примечание.

Назначение OLE DB не поддерживает параметры. Если необходимо выполнить параметризованную INSERT инструкцию, рассмотрите преобразование команды OLE DB. Дополнительные сведения см. в разделе OLE DB Command Transformation.

Когда назначение «OLE DB» загружает данные, в которых используется двухбайтовая кодировка (DBCS), они могут быть повреждены, если режим доступа к данным не использует возможность быстрой загрузки и если диспетчер соединений OLE DB использует поставщик Microsoft OLE DB для SQL Server (SQLOLEDB). Чтобы обеспечить целостность данных DBCS, необходимо настроить диспетчер соединений OLE DB на использование SQL Server Native Client или использовать один из режимов доступа быстрой загрузки: Таблица или представление — быстрая загрузка или Переменная имени таблицы или представления — быстрая загрузка. Оба параметра доступны в диалоговом окне Редактор назначения "OLE DB" . При программировании объектной модели SSIS следует задать для свойства AccessMode значение OpenRowset Using FastLoad или OpenRowset Using FastLoad From Variable.

Примечание.

Если вы используете диалоговое окно Редактор назначения OLE DB в конструкторе SSIS для создания целевой таблицы, в которую назначение OLE DB вставляет данные, может потребоваться вручную выбрать вновь созданную таблицу. Необходимость выбора вручную возникает, когда поставщик OLE DB, такой как OLE DB для DB2, автоматически добавляет идентификаторы схемы в имя таблицы.

Примечание.

Инструкция CREATE TABLE , которую создает диалоговое окно редактора назначения OLE DB , может потребовать изменения в зависимости от типа назначения. Например, некоторые целевые объекты не поддерживают типы данных, используемые инструкцией CREATE TABLE.

Это назначение использует диспетчер соединений OLE DB для подключения к источнику данных, а диспетчер соединений указывает, какой поставщик OLE DB следует использовать. Дополнительные сведения см. в разделе Диспетчер соединений OLE DB.

Проект Integration Services также предоставляет объект источника данных, на основе которого можно создать диспетчер подключений OLE DB, что делает источники данных и представления источников данных доступными для назначения OLE DB.

Целевой объект OLE DB содержит сопоставления между входными столбцами и столбцами в источнике данных назначения. Нет необходимости сопоставлять входные столбцы всем целевым столбцам, но в зависимости от свойств целевых столбцов могут произойти ошибки, если входные столбцы не сопоставлены целевым столбцам. Например, если целевой столбец не допускает значений NULL, входной столбец должен быть ему сопоставлен. Кроме того, типы данных сопоставленных столбцов должны быть совместимыми. Например, нельзя сопоставить входной столбец строкового типа целевому столбцу числового типа данных.

Назначение OLE DB имеет один стандартный вход и один выход для ошибок.

Дополнительные сведения о типах данных см. в разделе Integration Services Data Types.

Параметры быстрой загрузки

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

  • Хранить значения идентификаторов из файла импортируемых данных или использовать уникальные значения, назначенные SQL Server.

  • Сохранить значение NULL при выполнении операции массовой загрузки.

  • Проверочное ограничение в целевой таблице или представлении при выполнении операции массового импорта.

  • Установить блокировку на уровне таблицы на время операции массовой загрузки.

  • Укажите количество строк в пакете и размер фиксации.

Некоторые параметры быстрой загрузки хранятся в свойствах, относящихся к конкретному назначению «OLE DB». Например, параметр FastLoadKeepIdentity определяет, нужно ли хранить значения идентификации, параметр FastLoadKeepNulls указывает, будут ли храниться значения NULL, а параметр FastLoadMaxInsertCommitSize задает количество строк, которые следует фиксировать как пакет. Другие параметры быстрой загрузки хранятся в списке с разделителями-запятыми в свойстве FastLoadOptions. Если назначение OLE DB использует все параметры быстрой загрузки, хранящиеся в свойстве FastLoadOptions и перечисленные в диалоговом окне Редактор назначения OLE DB, значение свойства задается как TABLOCK, CHECK_CONSTRAINTS, ROWS_PER_BATCH=1000. Значение 1000 означает, что целевой объект настроен на использование пакетов по 1000 строк.

Примечание.

Любое нарушение ограничения в назначении вызывает сбой обработки всего пакета строк, определенного параметром FastLoadMaxInsertCommitSize.

Помимо параметров быстрой загрузки, отображенных в диалоговом окне Редактор назначения "OLE DB" , можно настроить назначение "OLE DB" для использования параметров массовой загрузки. Для этого введите параметры в свойство FastLoadOptions в диалоговом окне Расширенный редактор .

Параметры быстрой загрузки Описание
KILOBYTES_PER_BATCH (Килобайты_на_пакет) Устанавливает размер в килобайтах для вставки. Параметр имеет форму KILOBYTES_PER_BATCH = <целое положительное число>.
СОБЫТИЯ_ПОЖАРА Указывает, срабатывают ли триггеры для таблицы вставки. Параметр имеет форму FIRE_TRIGGERS. Наличие параметра означает, что триггер запускается.
ЗАКАЗ Устанавливает способ сортировки введенных данных. Параметр имеет вид ORDER <имя столбца> ASC|DESC. Количество столбцов может быть любым, необязательно включать порядок сортировки. Если порядок сортировки пропущен, операция вставки предполагает, что данные не отсортированы.

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

Ключевые слова Transact-SQL традиционно набираются прописными буквами, однако они нечувствительны к регистру.

Дополнительные сведения о параметрах быстрой загрузки см. в разделе BULK INSERT (Transact-SQL).

Устранение неполадок, связанных с назначением «OLE DB»

Можно регистрировать в журнале вызовы, которые выполняет назначение OLE DB к внешним поставщикам данных. Это средство журналирования можно использовать для устранения неполадок при записи данных во внешние источники данных, выполняемой компонентом назначения OLE DB. Чтобы вести журнал вызовов, которые назначение "OLE DB" совершает к внешним поставщикам данных, необходимо включить ведение журнала пакета и выбрать событие Диагностика на уровне пакета. Дополнительные сведения см. в разделе Инструменты устранения неполадок при выполнении пакетов.

Настройка целевого объекта OLE DB

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

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

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

Редактор назначения OLE DB (страница «Диспетчер соединений»)

Страница Диспетчер соединений диалогового окна Редактор назначения «OLE DB» используется для выбора подключения OLE DB для назначения. На этой странице также можно выбрать таблицу или представление базы данных.

Примечание.

Если источником данных является Microsoft Office Excel 2007, источник данных требует другого диспетчера соединений, отличного от предыдущих версий Excel. Дополнительные сведения см. в разделе Подключение к книге Excel.

Примечание.

Свойство CommandTimeout назначения «OLE DB» недоступно в Редакторе назначения «OLE DB», однако может быть задано в Расширенном редакторе. Кроме того, некоторые параметры быстрой загрузки доступны только в Расширенном редакторе. Дополнительные сведения об этих свойствах см. в подразделе «Назначение "OLE DB"» раздела OLE DB Custom Properties.

Свойство CommandTimeout вступает в силу только тогда, когда действует режим доступа Команда SQL.

Статические параметры

Диспетчер соединений OLE DB
Выберите из списка существующий диспетчер соединений или создайте новое соединение, нажав кнопку Создать.

Новый
Создайте новый диспетчер соединений с помощью диалогового окна Настройка диспетчера соединений OLE DB .

Режим доступа к данным
Укажите способ загрузки данных в целевое расположение. Загрузка данных с двухбайтовой кодировкой (DBCS) требует одного из режимов быстрой загрузки. Дополнительные сведения о режимах доступа для быстрой загрузки данных, оптимизированных для массовой вставки, см. в разделе OLE DB Destination.

Вариант Описание
Таблица или представление Загрузите данные в таблицу или представление в назначении OLE DB.
Быстрая загрузка таблицы или представления Загрузите данные в таблицу или представление в назначении OLE DB и используйте опцию быстрой загрузки. Дополнительные сведения о режимах доступа для быстрой загрузки данных, оптимизированных для массовой вставки, см. в разделе OLE DB Destination.
Переменная имени таблицы или представления Задайте переменную, содержащую имя таблицы или представления.

См. также: Использование переменных в пакетах
Переменная имени таблицы или представления — быстрая загрузка Укажите переменную, содержащую имя таблицы или представления, и используйте для загрузки данных параметр быстрой загрузки. Дополнительные сведения о режимах доступа для быстрой загрузки данных, оптимизированных для массовой вставки, см. в разделе OLE DB Destination.
Команда SQL Загрузка данных в назначение «OLE DB» при помощи SQL-запроса.

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

Динамические параметры режима доступа к данным

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

Режим доступа к данным = Таблица или представление

Имя таблицы или представления
Выберите имя таблицы или представления из списка доступных в источнике данных.

Новый
Создайте новую таблицу с помощью диалогового окна Создание таблицы .

Примечание.

При нажатии Создать Integration Services создает инструкцию CREATE TABLE по умолчанию на основе подключенного источника данных. Эта инструкция по умолчанию не будет включать атрибут FILESTREAM, даже если исходная CREATE TABLE таблица содержит столбец с объявленным атрибутом FILESTREAM. Чтобы запустить компонент Служб Integration Services с атрибутом FILESTREAM, сначала реализуйте хранилище FILESTREAM в целевой базе данных. Затем добавьте атрибут FILESTREAM в инструкцию CREATE TABLE в диалоговом окне "Создание таблицы ". Дополнительные сведения см. в статье Данные большого двоичного объекта (SQL Server).

Режим доступа к данным = таблица или представление — быстрая загрузка

Имя таблицы или представления
Выберите из этого списка таблицу или представление базы данных или создайте новую таблицу, нажав кнопку Создать.

Новый
Создайте новую таблицу с помощью диалогового окна Создание таблицы .

Примечание.

При нажатии Создать Integration Services создает инструкцию CREATE TABLE по умолчанию на основе подключенного источника данных. Эта инструкция по умолчанию не будет включать атрибут FILESTREAM, даже если исходная CREATE TABLE таблица содержит столбец с объявленным атрибутом FILESTREAM. Чтобы запустить компонент Служб Integration Services с атрибутом FILESTREAM, сначала реализуйте хранилище FILESTREAM в целевой базе данных. Затем добавьте атрибут FILESTREAM в инструкцию CREATE TABLE в диалоговом окне "Создание таблицы ". Дополнительные сведения см. в статье Данные большого двоичного объекта (SQL Server).

Сохранять ИД
Укажите, следует ли при загрузке данных копировать значения идентификаторов. Это свойство доступно только с параметром быстрой загрузки. Значение по умолчанию этого свойства равно false.

Сохранять значения NULL
Укажите, следует ли при загрузке данных копировать значения NULL. Это свойство доступно только с параметром быстрой загрузки. Значение по умолчанию этого свойства равно false.

Блокировка таблицы
Укажите, должна ли таблица блокироваться при загрузке. Значение по умолчанию этого свойства равно true.

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

Строк на пакет
Укажите количество строк в пакете. Это свойство по умолчанию имеет значение -1, которое указывает на то, что никакое значение не присваивалось.

Примечание.

Чтобы показать, что этому свойству не нужно присваивать пользовательское значение, очистите текстовое поле в окне Редактор назначения "OLE DB" .

Макс. фиксируемый размер вставок
Укажите размер пакета, который назначение OLE DB пытается зафиксировать при операциях быстрой загрузки. Значение 0 указывает, что фиксация всех данных производится в одном пакете после обработки всех строк.

Примечание.

Если назначение «OLE DB» и другой компонент потока данных обновляют одну и ту же исходную таблицу, то значение 0 может привести к тому, что выполняемый пакет перестанет отвечать на запросы. Чтобы пакет не останавливался, задайте для параметра Максимальный размер фиксируемых вставок значение 2147483647.

Если задать значение для этого свойства, строки в целевом объекте фиксируются пакетами, размер которых определяется меньшим из следующих значений: (а) Максимальный размер фиксации вставки или (б) количество строк, оставшихся в буфере, который обрабатывается в данный момент.

Примечание.

Любое нарушение ограничения в целевом объекте приводит к сбою всего пакета строк, заданного параметром Максимальный размер фиксации вставки.

Режим доступа к данным = переменная имени таблицы или представления

Имя переменной
Выберите переменную, содержащую имя таблицы или представления.

Режим доступа к данным = переменная, содержащая имя таблицы или представления (быстрая загрузка)

Имя переменной
Выберите переменную, содержащую имя таблицы или представления.

Новый
Создайте новую таблицу с помощью диалогового окна Создание таблицы .

Примечание.

При нажатии Создать Integration Services создает инструкцию CREATE TABLE по умолчанию на основе подключенного источника данных. Эта инструкция по умолчанию не будет включать атрибут FILESTREAM, даже если исходная CREATE TABLE таблица содержит столбец с объявленным атрибутом FILESTREAM. Чтобы запустить компонент Служб Integration Services с атрибутом FILESTREAM, сначала реализуйте хранилище FILESTREAM в целевой базе данных. Затем добавьте атрибут FILESTREAM в инструкцию CREATE TABLE в диалоговом окне "Создание таблицы ". Дополнительные сведения см. в статье Данные большого двоичного объекта (SQL Server).

Сохранять ИД
Укажите, следует ли при загрузке данных копировать значения идентификаторов. Это свойство доступно только с параметром быстрой загрузки. Значение по умолчанию этого свойства равно false.

Сохранять значения NULL
Укажите, следует ли при загрузке данных копировать значения NULL. Это свойство доступно только с параметром быстрой загрузки. Значение по умолчанию этого свойства равно false.

Блокировка таблицы
Укажите, должна ли таблица блокироваться при загрузке. Значение по умолчанию этого свойства равно false.

Проверочные ограничения
Укажите, действуют ли на задачу проверочные ограничения. Значение по умолчанию этого свойства равно false.

Строк на пакет
Укажите количество строк в пакете. Это свойство по умолчанию имеет значение -1, которое указывает на то, что никакое значение не присваивалось.

Примечание.

Чтобы показать, что этому свойству не нужно присваивать пользовательское значение, очистите текстовое поле в окне Редактор назначения "OLE DB" .

Макс. фиксируемый размер вставок
Укажите размер пакета, который назначение OLE DB пытается зафиксировать при операциях быстрой загрузки. Значение по умолчанию 2147483647 указывает на то, что фиксация всех данных производится одним пакетом после обработки всех строк.

Примечание.

Если назначение «OLE DB» и другой компонент потока данных обновляют одну и ту же исходную таблицу, то значение 0 может привести к тому, что выполняемый пакет перестанет отвечать на запросы. Чтобы пакет не останавливался, задайте для параметра Максимальный размер фиксируемых вставок значение 2147483647.

Режим доступа к данным — команда SQL

Текст команды SQL
Введите текст SQL-запроса, постройте запрос, нажав кнопку Создать запрос, или выберите файл, содержащий текст запроса, нажав кнопку Обзор.

Примечание.

Назначение OLE DB не поддерживает параметры. Если необходимо выполнить параметризованную INSERT инструкцию, рассмотрите преобразование команды OLE DB. Дополнительные сведения см. в разделе OLE DB Command Transformation.

Создать запрос
Воспользуйтесь диалоговым окном Построитель запросов для визуального конструирования SQL-запроса.

Просмотреть
Воспользуйтесь диалоговым окном Открыть для выбора файла, содержащего текст SQL-запроса.

Анализ запроса
Проверить синтаксис текста запроса.

Редактор назначения OLE DB (страница «Сопоставления»)

Страница Сопоставления диалогового окна Редактор назначения «OLE DB» используется для сопоставления входных столбцов с целевыми.

Параметры

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

Доступные целевые столбцы
Просмотрите список доступных целевых столбцов. Чтобы сопоставить доступные целевые столбцы с входными столбцами, воспользуйтесь операцией перетаскивания.

Входной столбец
Позволяет просматривать выбранные входные столбцы. Сопоставления можно удалить, выбрав вариант <ignore>, чтобы исключить столбцы из выходных данных.

Целевой столбец
Просмотрите все доступные целевые столбцы независимо от того, сопоставлены они или нет.

Редактор назначения «OLE DB» (страница «Вывод ошибок»)

Страница Вывод ошибок диалогового окна Редактор назначения «OLE DB» используется для задания параметров обработки ошибок.

Параметры

Ввод-вывод
Просмотрите имя входного элемента.

Столбец
Не используется.

Ошибка
Задайте действие, которое необходимо выполнить при возникновении ошибки: пропустить ошибку, перенаправить строку или вызвать сбой компонента.

Связанные разделы:обработка ошибок в данных

Усечение
Не используется.

Описание
Просмотрите описание операции.

Присвоить указанное значение выбранным ячейкам
Укажите действие, которое необходимо применить ко всем выбранным ячейкам при возникновении ошибки или усечения: пропустить ошибку, перенаправить строку или вызвать сбой компонента.

Применить
Применить параметр обработки ошибок к выбранным ячейкам.