Schemi di messaggio per funzioni e routine
L'adapter Microsoft BizTalk per Oracle Database consente di eseguire le funzioni e le stored procedure del database Oracle come operazioni. Questa sezione descrive la struttura e le azioni dei messaggi usate per richiamare funzioni e procedure.
Struttura dei messaggi di funzioni e procedure
Le operazioni vengono eseguite per le funzioni e le stored procedure seguono un modello di scambio di messaggi di risposta alla richiesta. Nella tabella seguente viene illustrata la struttura di questi messaggi di richiesta e risposta.
Operazione | Messaggio XML | Descrizione |
---|---|---|
Richiesta stored procedure | <[SP_NAME] xmlns="http://Microsoft.LobServices.OracleDB/2007/03/[SCHEMA]/Procedure"> <[PRM1_NAME]>value1</[PRM1_NAME]> <[PRM2_NAME]>value2</[PRM2_NAME]> … </[SP_NAME]> |
Supporta i parametri Oracle IN e IN OUT nel corpo del messaggio |
Risposta stored procedure | <[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> |
Supporta i parametri Oracle OUT e IN OUT nel corpo del messaggio |
Richiesta di funzione | <[FN_NAME] xmlns="http://Microsoft.LobServices.OracleDB/2007/03/[SCHEMA]/Function"> <[PRM1_NAME]>value1</[PRM1_NAME]> <[PRM2_NAME]>value2</[PRM2_NAME]> … </[FN_NAME]> |
Supporta i parametri Oracle IN e IN OUT nel corpo del messaggio |
Risposta della funzione | <[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> |
Supporta i parametri Oracle OUT e IN OUT nel corpo del messaggio - Il valore restituito dalla funzione viene restituito nell'elemento <[FN_NAME]Result\> . Si tratta del primo elemento nel messaggio di risposta. Viene prima di tutti i parametri. |
Procedura o richiesta di funzione in pacchetto | <[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]> |
Uguale alla funzione o alla stored procedure |
Procedura o risposta funzione in pacchetto | <[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> |
Uguale alla funzione o alla stored procedure |
[SCHEMA]
= Raccolta di artefatti Oracle; ad esempio SCOTT.
[SP_NAME]
= La stored procedure da eseguire; ad esempio, SP_INSERT.
[FN_NAME]
= Funzione da eseguire; ad esempio, FN_GETID.
[PRM1_NAME]
= Nome del parametro Oracle. Per ogni messaggio, vedere la colonna Description per le direzioni dei parametri supportate.
[PACKAGE_NAME]
= Nome del pacchetto contenente la routine o la funzione di destinazione.
Il database Oracle supporta l'overload per stored procedure e funzioni. L'adapter Oracle Database supporta questa funzionalità aggiungendo una stringa di overload allo spazio dei nomi di destinazione per ogni artefatto di overload. Il valore di questa stringa è "overload1" per il primo overload, "overload2" per il secondo overload e così via. Nell'esempio seguente viene illustrata la struttura dei messaggi per due stored procedure di overload.
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]>
Azioni dei messaggi di funzioni e procedure
L'adapter Oracle Database usa le azioni del messaggio seguenti per le operazioni di stored procedure e funzione.
Messaggio | Azione | Esempio |
---|---|---|
Richiesta stored procedure | http://Microsoft.LobServices.OracleDB/2007/03/[SCHEMA]/Procedure/[SP_NAME] |
http://Microsoft.LobServices.OracleDB/2007/03/SCOTT/Procedure/SP_INSERT |
Risposta stored procedure | http://Microsoft.LobServices.OracleDB/2007/03/[SCHEMA]/Procedure/[SP_NAME]/response |
http://Microsoft.LobServices.OracleDB/2007/03/SCOTT/Procedure/SP_INSERT/response |
Richiesta di funzione | http://Microsoft.LobServices.OracleDB/2007/03/[SCHEMA]/Function/[FN_NAME] |
http://Microsoft.LobServices.OracleDB/2007/03/SCOTT/Function/FN_GETID |
Risposta della funzione | http://Microsoft.LobServices.OracleDB/2007/03/[SCHEMA]/Function/[FN_NAME]/response |
http://Microsoft.LobServices.OracleDB/2007/03/SCOTT/Function/FN_GETID/response |
Richiesta di stored procedure in pacchetto | http://Microsoft.LobServices.OracleDB/2007/03/[SCHEMA]/Package/[PACKAGE_NAME]/[SP_NAME] |
http://Microsoft.LobServices.OracleDB/2007/03/SCOTT/Package/CUSTOMER/SP_INSERT |
Risposta stored procedure in pacchetto | 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 |
Richiesta di funzione in pacchetto | http://Microsoft.LobServices.OracleDB/2007/03/[SCHEMA]/Package/[PACKAGE_NAME]/[FN_NAME] |
http://Microsoft.LobServices.OracleDB/2007/03/SCOTT/Package/CUSTOMER/FN_GETID |
Risposta della funzione in pacchetto | 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 |
Richiesta di stored procedure di overload | http://Microsoft.LobServices.OracleDB/2007/03/[SCHEMA]/Procedure/[SP_NAME]/[OVERLOAD] |
http://Microsoft.LobServices.OracleDB/2007/03/SCOTT/Procedure/SP_INSERT/overload1 |
Risposta stored procedure di overload | 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]
= Raccolta di artefatti Oracle; ad esempio SCOTT.
[SP_NAME]
= La stored procedure da eseguire; ad esempio, SP_INSERT.
[FN_NAME]
= Funzione da eseguire; ad esempio, FN_GETID.
[PACKAGE_NAME]
= Nome del pacchetto contenente la routine o la funzione di destinazione.
[OVERLOAD]
= Parametro overload. I valori possibili sono overload1, overload2 e così via.
Vedere anche
Messaggi e schemi di messaggio per l'adapter BizTalk per database Oracle