Freigeben über


Nachrichtenschemas für Funktionen und Prozeduren

Der Microsoft BizTalk-Adapter für Oracle-Datenbank zeigt Oracle-Datenbankfunktionen und gespeicherte Prozeduren als Vorgänge an. In diesem Abschnitt werden die Nachrichtenstruktur und die Aktionen zum Aufrufen von Funktionen und Prozeduren beschrieben.

Nachrichtenstruktur von Funktionen und Prozeduren

Die vorgänge, die für Funktionen und gespeicherte Prozeduren angezeigt werden, folgen einem Anforderungs-Antwort-Nachrichtenaustauschmuster. Die folgende Tabelle zeigt die Struktur dieser Anforderungs- und Antwortnachrichten.

Vorgang XML-Nachricht BESCHREIBUNG
Anforderung für gespeicherte Prozeduren <[SP_NAME] xmlns="http://Microsoft.LobServices.OracleDB/2007/03/[SCHEMA]/Procedure"> <[PRM1_NAME]>value1</[PRM1_NAME]> <[PRM2_NAME]>value2</[PRM2_NAME]> … </[SP_NAME]> Unterstützt Oracle IN- und IN OUT-Parameter im Nachrichtentext
Antwort auf gespeicherte Prozeduren <[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> Unterstützt Oracle OUT- und IN OUT-Parameter im Nachrichtentext
Funktionsanforderung <[FN_NAME] xmlns="http://Microsoft.LobServices.OracleDB/2007/03/[SCHEMA]/Function"> <[PRM1_NAME]>value1</[PRM1_NAME]> <[PRM2_NAME]>value2</[PRM2_NAME]> … </[FN_NAME]> Unterstützt Oracle IN- und IN OUT-Parameter im Nachrichtentext
Funktionsantwort <[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> Unterstützt Oracle OUT- und IN OUT-Parameter im Nachrichtentext

– Der Rückgabewert der <[FN_NAME]Result\> Funktion wird im -Element zurückgegeben. Dies ist das erste Element in der Antwortnachricht. Sie kommt vor allen Parametern.
Verpackte Prozedur oder Funktionsanforderung <[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]> Identisch mit der Funktion oder gespeicherten Prozedur
Verpackte Prozedur oder Funktionsantwort <[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> Identisch mit der Funktion oder gespeicherten Prozedur

[SCHEMA] = Sammlung von Oracle-Artefakten; z. B. SCOTT.

[SP_NAME] = Die auszuführende gespeicherte Prozedur; beispielsweise SP_INSERT.

[FN_NAME] = Die auszuführende Funktion; z. B. FN_GETID.

[PRM1_NAME] = Der Name des Oracle-Parameters. In der Spalte Beschreibung finden Sie unterstützte Parameteranweisungen für jede Nachricht.

[PACKAGE_NAME] = Der Name des Pakets, das die Zielprozedur oder -funktion enthält.

Die Oracle-Datenbank unterstützt das Überladen von gespeicherten Prozeduren und Funktionen. Der Oracle Database-Adapter unterstützt diese Funktion, indem für jedes überladene Artefakt eine Überladungszeichenfolge an den Zielnamespace angefügt wird. Der Wert dieser Zeichenfolge ist "overload1" für die erste Überladung, "overload2" für die zweite Überladung usw. Das folgende Beispiel zeigt die Nachrichtenstruktur für zwei überladene gespeicherte Prozeduren.

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]>  

Nachrichtenaktionen von Funktionen und Prozeduren

Der Oracle Database-Adapter verwendet die folgenden Meldungsaktionen für gespeicherte Prozeduren und Funktionsvorgänge.

`Message` Aktion Beispiel
Anforderung für gespeicherte Prozeduren http://Microsoft.LobServices.OracleDB/2007/03/[SCHEMA]/Procedure/[SP_NAME] http://Microsoft.LobServices.OracleDB/2007/03/SCOTT/Procedure/SP_INSERT
Antwort auf gespeicherte Prozeduren http://Microsoft.LobServices.OracleDB/2007/03/[SCHEMA]/Procedure/[SP_NAME]/response http://Microsoft.LobServices.OracleDB/2007/03/SCOTT/Procedure/SP_INSERT/response
Funktionsanforderung http://Microsoft.LobServices.OracleDB/2007/03/[SCHEMA]/Function/[FN_NAME] http://Microsoft.LobServices.OracleDB/2007/03/SCOTT/Function/FN_GETID
Funktionsantwort http://Microsoft.LobServices.OracleDB/2007/03/[SCHEMA]/Function/[FN_NAME]/response http://Microsoft.LobServices.OracleDB/2007/03/SCOTT/Function/FN_GETID/response
Anforderung für gespeicherte Prozeduren in Paketen http://Microsoft.LobServices.OracleDB/2007/03/[SCHEMA]/Package/[PACKAGE_NAME]/[SP_NAME] http://Microsoft.LobServices.OracleDB/2007/03/SCOTT/Package/CUSTOMER/SP_INSERT
Verpackte Antwort auf gespeicherte Prozeduren 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
Paketfunktionsanforderung http://Microsoft.LobServices.OracleDB/2007/03/[SCHEMA]/Package/[PACKAGE_NAME]/[FN_NAME] http://Microsoft.LobServices.OracleDB/2007/03/SCOTT/Package/CUSTOMER/FN_GETID
Antwort der verpackten Funktion 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
Anforderung für überladene gespeicherte Prozeduren http://Microsoft.LobServices.OracleDB/2007/03/[SCHEMA]/Procedure/[SP_NAME]/[OVERLOAD] http://Microsoft.LobServices.OracleDB/2007/03/SCOTT/Procedure/SP_INSERT/overload1
Überladene gespeicherte Prozedurantwort 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] = Sammlung von Oracle-Artefakten; z. B. SCOTT.

[SP_NAME] = Die auszuführende gespeicherte Prozedur; beispielsweise SP_INSERT.

[FN_NAME] = Die auszuführende Funktion; z. B. FN_GETID.

[PACKAGE_NAME] = Der Name des Pakets, das die Zielprozedur oder -funktion enthält.

[OVERLOAD] = Der Overload-Parameter. Die möglichen Werte sind overload1, overload2 usw.

Weitere Informationen

Nachrichten und Nachrichtenschemas für BizTalk Adapter für Oracle Database