Remarque
L’accès à cette page requiert une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page requiert une autorisation. Vous pouvez essayer de modifier des répertoires.
S'APPLIQUE À :
Azure Data Factory
Azure Synapse Analytics
Conseil
Pour l’activité équivalente dans Data Factory dans Microsoft Fabric, voir activité Procédure stockée.
Vous utilisez des activités de transformation dans un pipeline Data Factory ou Synapse pour transformer et traiter des données brutes en prévisions et en analyses. L’activité de procédure stockée est l’une des activités de transformation prises en charge par les pipelines. Cet article s’ajoute à l’article Transformer des données qui présente une vue d’ensemble de la transformation de données et des activités de transformation prises en charge.
Note
Si vous débutez avec Azure Data Factory, lisez Introduction dans Azure Data Factory et suivez le didacticiel : Tutorial : transformer des données avant de lire cet article. Pour en savoir plus sur Synapse Analytics, lisez En savoir plus sur Azure Synapse Analytics.
Vous pouvez utiliser l’activité de procédure stockée pour appeler une procédure stockée dans l’un des magasins de données suivants dans votre entreprise ou sur une machine virtuelle Azure :
- Azure SQL Database
- Azure Synapse Analytics
- base de données SQL Server. Si vous utilisez SQL Server, installez le runtime d’intégration auto-hébergé sur la même machine qui héberge la base de données ou sur un ordinateur distinct qui a accès à la base de données. Self-Hosted Integration Runtime est un composant qui connecte des sources de données locales ou sur une machine virtuelle Azure avec des services cloud de façon sécurisée et sous contrôle. Pour plus d’informations, consultez l’article Runtime d’intégration auto-hébergé.
Important
Lors de la copie de données dans Azure SQL Database ou SQL Server, vous pouvez configurer l'SqlSink dans l’activité de copie pour appeler une procédure stockée à l’aide de la propriété sqlWriterStoredProcedureName. Pour plus d’informations sur la propriété, consultez les articles de connecteur suivants : Azure SQL Database, SQL Server. L’appel d’une procédure stockée lors de la copie de données dans un Azure Synapse Analytics à l’aide d’une activité de copie n’est pas pris en charge. Toutefois, vous pouvez utiliser l’activité de procédure stockée pour appeler une procédure stockée dans Azure Synapse Analytics.
Lorsque vous copiez des données à partir de Azure SQL Database ou de SQL Server ou de Azure Synapse Analytics, vous pouvez configurer SqlSource dans l’activité de copie pour appeler une procédure stockée pour lire des données à partir de la base de données source à l’aide de la propriété sqlReaderStoredProcedureName. Pour plus d’informations, consultez les articles suivants : Azure SQL Database, SQL Server, Azure Synapse Analytics
L’activité Procédure Stockée ne prend pas en charge les paramètres de sortie. Pour exécuter une procédure stockée qui renvoie des paramètres de sortie ou des résultats, utilisez plutôt une activité de recherche ou de script.
Si vous appelez une procédure stockée avec des paramètres de sortie en utilisant l’activité de procédure stockée, l’erreur suivante survient :
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.
Créer une activité de procédure stockée avec l’interface utilisateur
Pour utiliser une activité de procédure stockée dans un pipeline, suivez les étapes suivantes :
Recherchez Procédure stockée dans le volet Activités du pipeline, puis faites glisser une activité de procédure stockée vers le canevas du pipeline.
Sélectionnez la nouvelle activité de procédure stockée pour le canevas si elle ne l’est pas déjà, et son onglet Paramètres pour en modifier les détails.
Sélectionnez un service lié existant ou créez-en un nouveau pour Azure SQL Database, Azure Synapse Analytics ou SQL Server.
Choisissez une procédure stockée et fournissez tous les paramètres pour son exécution.
Détails de la syntaxe
Voici le format JSON pour la définition d’une activité de procédure stockée :
{
"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" }
}
}
}
Le tableau suivant décrit ces paramètres JSON :
| Propriété | Description | Obligatoire |
|---|---|---|
| nom | Nom de l’activité | Oui |
| description | Texte décrivant la raison motivant l’activité. | Non |
| type | Pour l’activité de procédure stockée, le type d’activité est SqlServerStoredProcedure. | Oui |
| linkedServiceName | Référence au Azure SQL Database ou Azure Synapse Analytics ou SQL Server inscrit en tant que service lié dans Data Factory. Pour en savoir plus sur ce service lié, consultez l’article Services liés de calcul. | Oui |
| storedProcedureName | Spécifiez le nom de la procédure stockée à appeler. | Oui |
| paramètresDeProcédureStockée | Spécifiez les valeurs des paramètres de procédure stockée. Utilisez "param1": { "value": "param1Value","type":"param1Type" } pour transmettre les valeurs des paramètres et leur type pris en charge par la source de données. Pour passer la valeur Null en paramètre, utilisez "param1": { "value": null } (tout en minuscules). |
Non |
Mappage du type de données du paramètre
Le type de données que vous spécifiez pour le paramètre est le type de service interne correspondant à celui de la source de données que vous utilisez. Vous trouverez les mappages de types de données pour votre source de données décrits dans la documentation relative aux connecteurs. Par exemple :
- Azure Synapse Analytics
- mappage de type de données Azure SQL Database
- Mappage de types de données Oracle
- mappage des types de données SQL Server
Contenu connexe
Consultez les articles suivants qui expliquent comment transformer des données par d’autres moyens :