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

Применимо к: SQL Server Integration Runtime служб 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 или использовать один из следующих режимов доступа быстрой загрузки: Быстрая загрузка таблицы или представления или Быстрая загрузка переменной имени представления или имени таблицы. Оба параметра доступны в диалоговом окне Редактор назначения "OLE DB" . Во время программирования объектной модели служб Integration Services нужно задать свойству AccessMode значение OpenRowset Using FastLoad или OpenRowset Using FastLoad From Variable.

Примечание

При использовании диалогового окна Редактор назначения "OLE DB" в конструкторе Integration Services для создания целевой таблицы, в которую целевой объект 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 Устанавливает запуск триггеров при вставке таблицы. Параметр имеет форму FIRE_TRIGGERS. Наличие параметра означает, что триггер запускается.
ORDER Устанавливает способ сортировки введенных данных. Параметр ORDER имеет форму <имя столбца> ASC|DESC. Количество столбцов может быть любым, необязательно включать порядок сортировки. Если порядок сортировки пропущен, операция вставки предполагает, что данные не отсортированы.

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

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

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

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

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

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

Значения свойств можно задавать с помощью конструктора Integration Services или программными средствами.

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

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

Редактор назначения 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 на основе подключенного источника данных. Эта инструкция CREATE TABLE не включает атрибут FILESTREAM, даже если исходная таблица содержит столбец, для которого объявлен атрибут FILESTREAM. Чтобы запустить компонент служб Службы Integration Services с атрибутом FILESTREAM, сначала следует создать хранилище FILESTREAM в целевой базе данных. Затем добавьте атрибут FILESTREAM к инструкции CREATE TABLE в диалоговом окне Создание таблицы . Дополнительные сведения см. в разделе Данные BLOB-объекта (SQL Server).

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

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

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

Примечание

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

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

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

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

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

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

Примечание

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

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

Примечание

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

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

Примечание

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

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

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

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

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

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

Примечание

При нажатии кнопки Создатьслужбы Службы Integration Services по умолчанию формируют инструкцию CREATE TABLE на основе подключенного источника данных. Эта инструкция CREATE TABLE не включает атрибут FILESTREAM, даже если исходная таблица содержит столбец, для которого объявлен атрибут FILESTREAM. Чтобы запустить компонент служб Службы Integration Services с атрибутом FILESTREAM, сначала следует создать хранилище FILESTREAM в целевой базе данных. Затем добавьте атрибут FILESTREAM к инструкции CREATE TABLE в диалоговом окне Создание таблицы . Дополнительные сведения см. в разделе Данные BLOB-объекта (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» используется для задания параметров обработки ошибок.

Параметры

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

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

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

См. также:Обработка ошибок в данных

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

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

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

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

Источник OLE DB

Переменные в службах Integration Services (SSIS)

Поток данных