Ескертпе
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Жүйеге кіруді немесе каталогтарды өзгертуді байқап көруге болады.
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Каталогтарды өзгертуді байқап көруге болады.
Область применения: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.
Чтобы сохранить обновленный пакет, щелкните Сохранить в меню Файл .