Schémas de message pour les fonctions et les procédures
L’adaptateur Microsoft BizTalk pour Oracle Database expose les fonctions de base de données Oracle et les procédures stockées en tant qu’opérations. Cette section décrit la structure de message et les actions utilisées pour appeler des fonctions et des procédures.
Structure de message des fonctions et procédures
Les opérations exposées pour les fonctions et les procédures stockées suivent un modèle d’échange de messages demande-réponse. Le tableau suivant montre la structure de ces messages de demande et de réponse.
Opération | Message XML | Description |
---|---|---|
Demande de procédure stockée | <[SP_NAME] xmlns="http://Microsoft.LobServices.OracleDB/2007/03/[SCHEMA]/Procedure"> <[PRM1_NAME]>value1</[PRM1_NAME]> <[PRM2_NAME]>value2</[PRM2_NAME]> … </[SP_NAME]> |
Prend en charge les paramètres Oracle IN et IN OUT dans le corps du message |
Réponse à la procédure stockée | <[SP_NAME]Response xmlns="http://Microsoft.LobServices.OracleDB/2007/03/[SCHEMA]/Procedure"> <[PRM1_NAME]>value1<[PRM1_NAME]> <[PRM2_NAME]>value2</[PRM2_NAME]> … </[SP_NAME]Response> |
Prend en charge les paramètres Oracle OUT et IN OUT dans le corps du message |
Demande de fonction | <[FN_NAME] xmlns="http://Microsoft.LobServices.OracleDB/2007/03/[SCHEMA]/Function"> <[PRM1_NAME]>value1</[PRM1_NAME]> <[PRM2_NAME]>value2</[PRM2_NAME]> … </[FN_NAME]> |
Prend en charge les paramètres Oracle IN et IN OUT dans le corps du message |
Réponse de fonction | <[FN_NAME]Response xmlns="http://Microsoft.LobServices.OracleDB/2007/03/[SCHEMA]/Function"> <[FN_NAME]Result>return_value</[FN_NAME]Result> <[PRM1_NAME]>value1</[PRM1_NAME]> <[PRM2_NAME]>value2</[PRM2_NAME]> … </[FN_NAME]Response> |
Prend en charge les paramètres Oracle OUT et IN OUT dans le corps du message - La valeur de retour de la fonction est retournée dans l’élément <[FN_NAME]Result\> . Il s’agit du premier élément du message de réponse. Il arrive avant tous les paramètres. |
Procédure empaquetée ou demande de fonction | <[SP_NAME] xmlns="http://Microsoft.LobServices.OracleDB/2007/03/[SCHEMA]/Package/[PACKAGE_NAME]"> <[PRM1_NAME]>value1</[PRM1_NAME]> <[PRM2_NAME]>value2</[PRM2_NAME]> … </[SP_NAME]> |
Identique à la fonction ou à la procédure stockée |
Procédure empaquetée ou réponse de fonction | <[SP_NAME]Response xmlns="http://Microsoft.LobServices.OracleDB/2007/03/[SCHEMA]/Package/[PACKAGE_NAME]"> <[PRM1_NAME]>value1</[PRM1_NAME]> <[PRM2_NAME]>value2</[PRM2_NAME]> … </[SP_NAME]Response> |
Identique à la fonction ou à la procédure stockée |
[SCHEMA]
= Collection d’artefacts Oracle ; par exemple, SCOTT.
[SP_NAME]
= Procédure stockée à exécuter ; par exemple, SP_INSERT.
[FN_NAME]
= Fonction à exécuter ; par exemple, FN_GETID.
[PRM1_NAME]
= Nom du paramètre Oracle. Consultez la colonne Description pour connaître les instructions de paramètre prises en charge pour chaque message.
[PACKAGE_NAME]
= Nom du package qui contient la procédure ou la fonction ciblée.
La base de données Oracle prend en charge la surcharge des procédures stockées et des fonctions. L’adaptateur Oracle Database prend en charge cette fonctionnalité en ajoutant une chaîne de surcharge à l’espace de noms cible pour chaque artefact surchargé. La valeur de cette chaîne est « overload1 » pour la première surcharge, « overload2 » pour la deuxième surcharge, et ainsi de suite. L’exemple suivant montre la structure des messages pour deux procédures stockées surchargées.
Stored Procedure Overload 1:
<[SP_NAME] xmlns="http://Microsoft.LobServices.OracleDB/2007/03/[SCHEMA]/Package/[PACKAGE_NAME]/[SP_NAME]/overload1">
<[PRM1_NAME]>value1</[PRM1_NAME]>
<[PRM2_NAME]>value1</[PRM2_NAME]>
…
</[SP_NAME]>
Stored Procedure Overload 2:
<[SP_NAME] xmlns="http://Microsoft.LobServices.OracleDB/2007/03/[SCHEMA]/Package/[PACKAGE_NAME]/[SP_NAME]/overload2">
<[PRM1_NAME]>value1</I_[PRM1_NAME]>
<[PRM2_NAME]>value1</I_[PRM2_NAME]>
…
</[SP_NAME]>
Actions de message des fonctions et procédures
L’adaptateur Oracle Database utilise les actions de message suivantes pour les opérations de procédure stockée et de fonction.
Message | Action | Exemple |
---|---|---|
Demande de procédure stockée | http://Microsoft.LobServices.OracleDB/2007/03/[SCHEMA]/Procedure/[SP_NAME] |
http://Microsoft.LobServices.OracleDB/2007/03/SCOTT/Procedure/SP_INSERT |
Réponse à la procédure stockée | http://Microsoft.LobServices.OracleDB/2007/03/[SCHEMA]/Procedure/[SP_NAME]/response |
http://Microsoft.LobServices.OracleDB/2007/03/SCOTT/Procedure/SP_INSERT/response |
Demande de fonction | http://Microsoft.LobServices.OracleDB/2007/03/[SCHEMA]/Function/[FN_NAME] |
http://Microsoft.LobServices.OracleDB/2007/03/SCOTT/Function/FN_GETID |
Réponse de fonction | http://Microsoft.LobServices.OracleDB/2007/03/[SCHEMA]/Function/[FN_NAME]/response |
http://Microsoft.LobServices.OracleDB/2007/03/SCOTT/Function/FN_GETID/response |
Demande de procédure stockée empaquetée | http://Microsoft.LobServices.OracleDB/2007/03/[SCHEMA]/Package/[PACKAGE_NAME]/[SP_NAME] |
http://Microsoft.LobServices.OracleDB/2007/03/SCOTT/Package/CUSTOMER/SP_INSERT |
Réponse de procédure stockée empaquetée | http://Microsoft.LobServices.OracleDB/2007/03/[SCHEMA]/Package/[PACKAGE_NAME]/[SP_NAME]/response |
http://Microsoft.LobServices.OracleDB/2007/03/SCOTT/Package/CUSTOMER/SP_INSERT/response |
Demande de fonction empaquetée | http://Microsoft.LobServices.OracleDB/2007/03/[SCHEMA]/Package/[PACKAGE_NAME]/[FN_NAME] |
http://Microsoft.LobServices.OracleDB/2007/03/SCOTT/Package/CUSTOMER/FN_GETID |
Réponse de fonction empaquetée | http://Microsoft.LobServices.OracleDB/2007/03/[SCHEMA]/Package/[PACKAGE_NAME]/[FN_NAME]/response |
http://Microsoft.LobServices.OracleDB/2007/03/SCOTT/Package/CUSTOMER/FN_GETID/response |
Demande de procédure stockée surchargée | http://Microsoft.LobServices.OracleDB/2007/03/[SCHEMA]/Procedure/[SP_NAME]/[OVERLOAD] |
http://Microsoft.LobServices.OracleDB/2007/03/SCOTT/Procedure/SP_INSERT/overload1 |
Réponse de procédure stockée surchargée | http://Microsoft.LobServices.OracleDB/2007/03/[SCHEMA]/Procedure/[SP_NAME]/[OVERLOAD]/response |
http://Microsoft.LobServices.OracleDB/2007/03/SCOTT/Procedure/SP_INSERT/overload1/response |
[SCHEMA]
= Collection d’artefacts Oracle ; par exemple, SCOTT.
[SP_NAME]
= Procédure stockée à exécuter ; par exemple, SP_INSERT.
[FN_NAME]
= Fonction à exécuter ; par exemple, FN_GETID.
[PACKAGE_NAME]
= Nom du package qui contient la procédure ou la fonction ciblée.
[OVERLOAD]
= Paramètre Overload. Les valeurs possibles sont overload1, overload2, etc.
Voir aussi
Messages et schémas de message pour l’adaptateur BizTalk pour Oracle Database