Partager via


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