Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Область применения:SQL Server
среда выполнения интеграции SSIS в Фабрика данных Azure
Преобразование команд OLE DB выполняет инструкцию SQL для каждой строки в потоке данных. Например, можно запустить инструкцию SQL, которая вставляет, обновляет или удаляет строки в таблице базы данных.
Преобразование «Команда OLE DB» можно настроить следующими способами.
Указать инструкцию SQL, которую преобразование выполняет для каждой строки.
Укажите количество секунд до истечения времени ожидания SQL-запроса.
Указать кодовую страницу по умолчанию.
Обычно инструкция SQL содержит параметры. Значения параметров хранятся во внешних столбцах на входе преобразования, и сопоставление входного столбца с внешним столбцом означает сопоставление входного столбца с параметром. Например, для размещения строк в таблице DimProduct в соответствии со значениями в столбце ProductKey и для их последующего удаления можно сопоставить внешний столбец Param_0 с входным столбцом ProductKey и выполнить инструкцию SQL DELETE FROM DimProduct WHERE ProductKey = ?. Преобразование «Команда OLE DB» определяет имена параметров, которые нельзя изменить. Имена параметров представляют собой Param_0, Param_1и т. д.
Если преобразование «Команда OLE DB» настраивается в диалоговом окне Расширенный редактор , с помощью кнопки Обновить можно автоматически сопоставить параметры инструкции SQL с внешними столбцами входа преобразования, а также определить характеристики каждого параметра. Тем не менее, если поставщик OLE DB, используемый преобразованием «Команда OLE DB», не поддерживает извлечение сведений о параметрах из самих параметров, то внешние столбцы должны настраиваться вручную. В этом случае для каждого параметра необходимо добавить столбец к внешнему входу преобразования, присвоить столбцам имена типа Param_0, указать значение свойства DBParamInfoFlags и сопоставить входные столбцы, в которых содержатся значения параметров, с внешними столбцами.
Значение свойства DBParamInfoFlags представляет собой характеристики параметра. Например, значение 1 показывает, что параметр является входным, а значение 65 показывает, что параметр является входным и может принимать значение NULL. Значения должны соответствовать значениям из перечисления OLE DB DBPARAMFLAGSENUM. Дополнительные сведения см. в справочной документации по OLE DB.
Преобразование OLE DB Command содержит пользовательское свойство SQLCommand. Это свойство может быть обновлено выражением свойства при загрузке пакета. Дополнительные сведения см. в разделах Выражения служб Integration Services (SSIS), Использование выражений свойств в пакетах и Пользовательские свойства преобразований.
Это преобразование содержит один вход, один обычный вывод и один вывод ошибок.
Ведение журнала
Можно регистрировать в журнале вызовы, которые выполняет преобразование «Команда OLE DB» к внешним поставщикам данных. Эту функцию ведения журнала можно использовать для устранения неполадок, связанных с подключениями к внешним источникам данных и командами, которые выполняет преобразование «Команда OLE DB». Для протоколирования вызовов, которые преобразование «Команда OLE DB» совершает к внешним поставщикам данных, необходимо разрешить ведение журнала пакета и выбрать событие Диагностика на уровне пакета. Дополнительные сведения см. в разделе Инструменты устранения неполадок при выполнении пакетов.
Связанные задачи
Преобразование можно настроить с помощью конструктора служб SSIS или объектной модели. Сведения о настройке этого преобразования программными средствами см. в руководстве разработчика.
Настроить преобразование «Команда OLE DB»
Чтобы добавить и настроить преобразование «Команда OLE DB», пакет уже должен содержать как минимум одну задачу потока данных и источник данных, например источник неструктурированного файла или источник OLE DB. Преобразование обычно используется для выполнения параметризованных запросов.
Настройка преобразования «Команда OLE DB»
В SQL Server Data Tools (SSDT) откройте проект служб Integration Services, содержащий нужный пакет.
Чтобы открыть пакет, дважды щелкните его в обозревателе решений.
Перейдите на вкладку Поток данных , затем из области элементовпереместите преобразование «Команда OLE DB» в область конструктора.
Подключите компонент преобразования "OLE DB Command" к потоку данных, перетащив к нему соединитель — зеленую или красную стрелку — от источника данных или предыдущего преобразования.
Щелкните правой кнопкой мыши компонент и выберите редактировать или показать Расширенный редактор.
На вкладке Диспетчеры соединений выберите диспетчер соединений OLE DB в списке Диспетчер соединений . Дополнительные сведения см. в разделе Диспетчер соединений OLE DB.
Перейдите на вкладку Свойства компонентов и нажмите кнопку с многоточием (…) в поле SqlCommand.
В редакторе строковых значенийвведите параметризованную инструкцию SQL, используя знак вопроса (?) в качестве маркера параметра для каждого параметра.
Нажмите кнопку Обновить. При нажатии кнопки Обновитьпреобразование создает столбец для каждого параметра в коллекции "Внешние столбцы" и устанавливает свойство DBParamInfoFlags.
Щелкните вкладку Свойства входов и выходов .
Разверните Вход команды OLE DB, а затем разверните Внешние столбцы.
Убедитесь, что в Внешние столбцы содержится столбец для каждого параметра в операторе SQL. Столбцы имеют имена Param_0, Param_1и т. д.
Не изменяйте имена столбцов. При изменении имен столбцов службы Integration Services создает ошибку проверки для преобразования команды OLE DB.
Не изменяйте и тип данных. Свойство DataType в каждом столбце устанавливается в соответствии с правильным типом данных.
Если в списке Внешние столбцы нет ни одного столбца, введите их вручную.
Щелкните Добавить столбец один раз для каждого параметра в инструкции SQL.
Переименуйте столбцы в Param_0, Param_1и т. д.
Укажите значение в свойстве DBParamInfoFlags. Значение должно совпадать со значением из перечисления OLE DB DBPARAMFLAGSENUM. Дополнительные сведения см. в справочной документации по OLE DB.
Задайте тип данных столбца и в зависимости от типа данных задайте кодовую страницу, длину, точность и масштаб столбца.
Чтобы удалить неиспользуемый параметр, выберите параметр в коллекции Внешние столбцы, затем щелкните Удалить столбец.
Щелкните Сопоставления столбцов и сопоставьте столбцы в списке Доступные входные столбцы параметрам в списке Доступные целевые столбцы.
Щелкните OK.
Чтобы сохранить обновленный пакет, щелкните Сохранить в меню Файл .