Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
ПРИМЕНИМО К:
Фабрика данных Azure
Azure Synapse Analytics
Совет
Для аналогичной активности в Data Factory в Microsoft Fabric см. активность Хранимых процедур.
Действия преобразования данных в конвейере Фабрики данных или Synapse позволяют преобразовать необработанные данные в прогнозы и аналитические сведения. Действие хранимой процедуры — это одно из действий преобразования, которые поддерживает конвейер. Данная статья основана на материалах статьи о преобразовании данных, в которой приведен общий обзор преобразования данных и список поддерживаемых действий преобразования.
Примечание.
Если вы не знакомы с Фабрика данных Azure, ознакомьтесь с Introduction в Фабрика данных Azure и выполните инструкции: Tutorial: преобразование данных перед чтением этой статьи. Чтобы узнать больше о Synapse Analytics, прочитайте статью Что такое Azure Synapse Analytics.
Действие хранимой процедуры можно использовать для вызова хранимой процедуры в одном из следующих хранилищ данных в организации или на виртуальной машине Azure:
- База данных SQL Azure
- Azure Synapse Analytics
- база данных SQL Server. Если вы используете SQL Server, установите локальную среду выполнения интеграции на том же компьютере, где размещена база данных или на отдельном компьютере с доступом к базе данных. Self-Hosted среда выполнения интеграции — это компонент, который подключает источники данных на локальных серверах или виртуальных машинах Azure с облачными службами, обеспечивая безопасность и управление. Дополнительные сведения см. в статье Создание и настройка локальной среды выполнения интеграции.
Внимание
При копировании данных в База данных SQL Azure или SQL Server можно настроить SqlSink в действии копирования для вызова хранимой процедуры с помощью свойства sqlWriterStoredProcedureName. Дополнительные сведения о свойстве см. в следующих статьях соединителя: База данных SQL Azure, SQL Server. Вызов хранимой процедуры при копировании данных в Azure Synapse Analytics с помощью действия копирования не поддерживается. Но можно использовать действие хранимой процедуры для вызова хранимой процедуры в Azure Synapse Analytics.
При копировании данных из База данных SQL Azure или SQL Server или Azure Synapse Analytics можно настроить SqlSource в действии копирования для вызова хранимой процедуры для чтения данных из исходной базы данных с помощью свойства sqlReaderStoredProcedureName. Дополнительные сведения см. в следующих статьях соединителя: База данных SQL Azure, SQL Server, Azure Synapse Analytics
Активность Хранимой процедуры не поддерживает параметры вывода. Для запуска сохранённой процедуры, возвращающей параметры вывода или результаты, используйте активность поиска или скрипта.
Если вызвать сохранённую процедуру с выходными параметрами, используя активность сохранённой процедуры, возникает следующая ошибка:
Execution fail against sql server. Please contact SQL Server team if you need further support. Sql error number: 201. Error Message: Procedure or function 'sp_name' expects parameter '@output_param_name', which was not supplied.
Создайте действие с хранимой процедурой с использованием пользовательского интерфейса
Чтобы использовать действие Stored Procedure в конвейере, выполните следующие действия:
Выполните поиск Stored Procedure в области "Действия" конвейера и перетащите действие Stored Procedure на холст конвейера.
Выберите новое действие хранимой процедуры на холсте, если оно еще не выбрано, и перейдите на вкладку Параметры, чтобы отредактировать его настройки.
Выберите существующую или создайте связанную службу в База данных SQL Azure, Azure Synapse Analytics или SQL Server.
Выберите хранимую процедуру и укажите параметры ее выполнения.
Сведения о синтаксисе
Ниже приведен формат JSON для определения действия хранимой процедуры:
{
"name": "Stored Procedure Activity",
"description":"Description",
"type": "SqlServerStoredProcedure",
"linkedServiceName": {
"referenceName": "AzureSqlLinkedService",
"type": "LinkedServiceReference"
},
"typeProperties": {
"storedProcedureName": "usp_sample",
"storedProcedureParameters": {
"identifier": { "value": "1", "type": "Int" },
"stringData": { "value": "str1" }
}
}
}
В следующей таблице описаны эти свойства JSON:
| Свойство | Описание: | Обязательное поле |
|---|---|---|
| имя | Название деятельности. | Да |
| описание | Текст, описывающий, для чего используется действие | Нет |
| тип | Для действия хранимой процедуры используется тип действия SqlServerStoredProcedure. | Да |
| linkedServiceName | Ссылка на База данных SQL Azure или Azure Synapse Analytics или SQL Server зарегистрирована как связанная служба в Data Factory. Чтобы узнать больше об этой связанной службе, см. статью Связанные службы вычислений. | Да |
| storedProcedureName (имя хранимой процедуры) | Укажите имя хранимой процедуры, которую нужно вызвать. | Да |
| параметры хранимой процедуры | Укажите значения для параметров хранимой процедуры. Используйте "param1": { "value": "param1Value","type":"param1Type" }, чтобы передать значения параметра и их тип, поддерживаемый источником данных. Если для параметра необходимо передать значение null, используйте синтаксис "param1": { "value": null } (все знаки в нижнем регистре). |
Нет |
Сопоставление типов данных параметров
Тип данных, указываемый для параметра, представляет собой тип внутреннего сервиса, который сопоставляется с типом в источнике данных, который вы используете. Сопоставления типов данных для источника данных описаны в документации по соединителям. Например:
- Azure Synapse Analytics
- сопоставление типов данных База данных SQL Azure
- Сопоставление типов данных Oracle
- сопоставление типов данных SQL Server
Связанный контент
Ознакомьтесь со следующими ссылками, в которых описаны способы преобразования данных другими способами: