Teilen über


Ausführen zusammengesetzter Vorgänge für Oracle-Datenbank mit BizTalk Server

Mit dem Oracle Database-Adapter können Adapterclients zusammengesetzte Vorgänge für Oracle-Datenbank ausführen. Ein zusammengesetzter Vorgang kann Folgendes umfassen:

  • Einfügen, Aktualisieren, Löschen und Auswählen von Vorgängen für Tabellen und Ansichten.

  • Gespeicherte Prozeduren und Funktionen innerhalb oder außerhalb eines Pakets.

    Ein einzelner zusammengesetzter Vorgang kann eine beliebige Anzahl dieser Vorgänge in beliebiger Reihenfolge aufweisen. Beispielsweise können Sie über zwei Einfügevorgänge gefolgt von einem Löschvorgang und schließlich über eine Ausführung einer gespeicherten Prozedur verfügen. Außerdem können Sie verschiedene Vorgänge für unterschiedliche Datenbanktabellen oder -ansichten verwenden. Weitere Informationen dazu, wie der Adapter zusammengesetzte Vorgänge unterstützt, finden Sie unter Durchführen von zusammengesetzten Vorgängen in Oracle-Datenbank. Informationen zur Struktur der SOAP-Nachricht für zusammengesetzte Vorgänge finden Sie unter Nachrichtenschemas für den zusammengesetzten Vorgang.

Wie führt man zusammengesetzte Vorgänge in Oracle-Datenbank aus?

Das Ausführen eines Vorgangs für Oracle-Datenbank mithilfe des Oracle Database-Adapters mit BizTalk Server umfasst prozedurale Aufgaben, die unter Bausteine zum Entwickeln von BizTalk-Anwendungen mit Oracle-Datenbank beschrieben sind. Zum Ausführen von zusammengesetzten Vorgängen in der Oracle-Datenbank sind die folgenden Aufgaben zu erfüllen:

  1. Erstellen Sie ein BizTalk-Projekt in Visual Studio, und generieren Sie ein Schema für alle Vorgänge, die Sie aufrufen möchten.

  2. Erstellen Sie manuell eine Schemadatei, die Verweise auf alle Schemas enthält, die Sie im vorherigen Schritt generiert haben.

  3. Erstellen Sie Nachrichten im BizTalk-Projekt zum Senden und Empfangen von Nachrichten aus der Oracle-Datenbank. Diese Nachrichten müssen dem Anforderungs- und Antwortschema entsprechen, das Sie im vorherigen Schritt erstellt haben.

  4. Erstellen Sie eine Orchestrierung, um den zusammengesetzten Vorgang in der Oracle-Datenbank aufzurufen.

  5. Erstellen und Bereitstellen des BizTalk-Projekts.

  6. Konfigurieren Sie die BizTalk-Anwendung, indem Sie physische Sende- und Empfangsports erstellen.

  7. Starten Sie die BizTalk-Anwendung.

    Dieses Thema enthält Anweisungen zum Ausführen dieser Aufgaben.

Generieren eines Schemas

In diesem Thema führen wir die folgenden Aufgaben in der gleichen Reihenfolge aus, um zu veranschaulichen, wie zusammengesetzte Vorgänge ausgeführt werden:

  • Fügen Sie den Datensatz in die TABELLE ACCOUNTACTIVITY ein.

  • Rufen Sie alle Datensätze in der Tabelle ACCOUNTACTIVITY ab, indem Sie die GET_ALL_ACTIVITY-Prozedur innerhalb des ACCOUNT_PKG-Pakets aufrufen.

  • Löschen Sie den Datensatz aus der Tabelle ACCOUNTACTIVITY.

    Führen Sie die mit den Beispielen bereitgestellten Skripts aus, um die TABELLE ACCOUNTACTIVITY zu erstellen. Weitere Informationen zu den Beispielen finden Sie unter Schemabeispiele.

    Sie müssen ein BizTalk-Projekt erstellen und das Add-In Adapterdienst nutzen verwenden, um das Schema zu generieren. Weitere Informationen zum Generieren von Schemas finden Sie unter Abrufen von Metadaten für Oracle Database-Vorgänge in Visual Studio .

Erstellen einer zusammengesetzten Schemadefinition

Sie müssen nun ein zusammengesetztes Schema im Visual Studio BizTalk-Projekt erstellen, das auf die Schemas verweist, die Sie für die einzelnen Vorgänge erstellt haben. Führen Sie die folgenden Schritte aus, um eine zusammengesetzte Schemadefinition zu erstellen.

So fügen Sie eine zusammengesetzte Schemadefinition hinzu

  1. Fügen Sie dem BizTalk-Projekt in Visual Studio eine Schemadatei hinzu. Klicken Sie mit der rechten Maustaste auf den Projektmappennamen, zeigen Sie auf Hinzufügen, und klicken Sie dann auf Neues Element. Klicken Sie im Dialogfeld Neues Element hinzufügen im Feld Kategorien auf Schemadateien. Klicken Sie im Feld Vorlagen auf Schema. Geben Sie einen Namen für die Schemadatei an, und klicken Sie auf OK.

    Geben Sie in diesem Beispiel den Namen der Schemadatei als an CompositeSchema.xsd.

  2. Fügen Sie Verweise auf das Schema hinzu, das für die verschiedenen Vorgänge generiert wurde, die Sie ausführen möchten. In diesem Beispiel sind die verschiedenen Schemas, die für Vorgänge generiert werden:

    • OracleDBBinding.xsd für Insert- und Delete-Vorgänge in der TABELLE ACCOUNTACTIVITY.

    • OracleDBBinding2.xsd für die GET_ALL_ACTIVITY-Prozedur.

      So fügen Sie Verweise hinzu:

    1. Klicken Sie mit der rechten Maustaste auf den Knoten Stammschema<> in CompositeSchema.xsd, und klicken Sie auf Eigenschaften.

    2. Klicken Sie im Feld Eigenschaft auf die Schaltfläche mit den Auslassungspunkten (...) für die Imports-Eigenschaft .

      Importieren von Schemadefinitionen

    3. Wählen Sie im Dialogfeld Importe in der Liste Neues Schema importieren als die Option XSD-Import aus, und klicken Sie dann auf Hinzufügen.

    4. Erweitern Sie im Dialogfeld BizTalk-Typauswahl den Knoten BizTalk-Projektname, erweitern Sie Schemas, und wählen Sie dann das Zu importierende Schema aus. Wählen Sie in diesem Beispiel BizTalk_project_name> aus<. OracleDBBinding.xsd. Klicken Sie auf OK.

      Wiederholen Sie diesen Schritt, um BizTalk_project_name> zu importieren<. OracleDBBinding2.xsd auch.

    5. Klicken Sie im Dialogfeld Importe auf OK.

  3. Fügen Sie dem Stammschemaknoten zwei untergeordnete Knoten hinzu. Ein untergeordneter Knoten entspricht dem Anforderungsschema für die Ausführung des zusammengesetzten Vorgangs. Der andere untergeordnete Knoten entspricht dem Antwortschema. Der Knoten, der dem Anforderungsschema entspricht, kann einen beliebigen Namen haben. Der Knoten, der dem Antwortschema entspricht, muss request_schema_node>Response aufgerufen <werden. In diesem Beispiel wird der Anforderungsschemaknoten als Anforderung bezeichnet. Daher heißt der Antwortschemaknoten RequestResponse.

    Hinweis

    Standardmäßig wird auch ein Stammknoten zu einer neuen Schemadatei hinzugefügt. Sie können den Stammknoten in Anforderung umbenennen. Um einen Knoten umzubenennen, klicken Sie mit der rechten Maustaste auf den Knotennamen, und klicken Sie auf Umbenennen.

    So fügen Sie einen Knoten unter dem <Knoten Schema> hinzu:

    1. Klicken Sie mit der rechten Maustaste auf den <Knoten Schema> , zeigen Sie auf Schemaknoten einfügen, und klicken Sie auf Untergeordneter Datensatz.

    2. Benennen Sie den neuen Knoten in RequestResponse um.

  4. Fügen Sie untergeordnete Knoten unter dem Knoten Anforderung hinzu, die dem Anforderungsschema für jeden Vorgang entsprechen, den Sie im Rahmen des zusammengesetzten Vorgangs ausführen. In diesem Beispiel müssen Sie untergeordnete Knoten hinzufügen, die folgendem entsprechen:

    • Einfüge- und Löschvorgänge für die Tabelle ACCOUNTACTIVITY.

    • GET_ALL_ACTIVITY Verfahren.

    Wichtig

    Sie müssen die Knoten in derselben Reihenfolge hinzufügen, in der Sie die Vorgänge ausführen möchten. Wenn Sie beispielsweise einen Datensatz einfügen, dann eine gespeicherte Prozedur ausführen und dann einen Datensatz löschen möchten, müssen Sie zuerst einen Knoten für den Einfügevorgang hinzufügen, gefolgt von einem Knoten für die gespeicherte Prozedur und schließlich einem Knoten für den Löschvorgang.

    So fügen Sie dem Knoten Anforderung untergeordnete Knoten hinzu:

    1. Klicken Sie mit der rechten Maustaste auf den Knoten Anforderung , zeigen Sie auf Schemaknoten einfügen, und klicken Sie dann auf Untergeordneter Datensatz.

      Einfügen untergeordneter Knoten für ein Schema

    2. Benennen Sie den Datensatz so um, dass er einem Anforderungsschema für einen Vorgang entspricht, den Sie im Rahmen des zusammengesetzten Vorgangs ausführen. Benennen Sie z. B. den Knoten in "Einfügen" um.

    3. Ordnen Sie den Knoten Einfügen dem Anforderungsschema für den Insert-Vorgang in der Tabelle ACCOUNTACTIVITY zu. Klicken Sie dazu mit der rechten Maustaste auf den Knoten Einfügen , und klicken Sie dann auf Eigenschaften. Wählen Sie im Feld Eigenschaften in der Liste Datentyp die Option Einfügen (Referenz) aus.

      Zuordnen untergeordneter Knoten zum Anfordern des Schemas

    4. Wiederholen Sie diese Schritte, um Knoten für die Anforderungsschemas für GET_ALL_ACTIVITY gespeicherte Prozedur und den Löschvorgang hinzuzufügen. Geben Sie die Knotennamen an, und ordnen Sie sie dem entsprechenden Schema zu, wie in der folgenden Tabelle erwähnt.

      Knotenname Schemazuordnung
      GET_ALL_ACTIVITY GET_ALL_ACTIVITY (Referenz)
      Löschen Löschen (Referenz)
  5. Fügen Sie untergeordnete Knoten unter dem Knoten RequestResponse hinzu, die dem Antwortschema für jeden Vorgang entsprechen, den Sie im Rahmen des zusammengesetzten Vorgangs ausführen. In diesem Beispiel müssen Sie untergeordnete Knoten hinzufügen, die folgendem entsprechen:

    • Einfüge- und Löschvorgänge für die Tabelle ACCOUNTACTIVITY.

    • GET_ALL_ACTIVITY gespeicherte Prozedur.

    Wichtig

    Sie müssen die untergeordneten Knoten in der gleichen Reihenfolge wie die untergeordneten Knoten unter dem Knoten Anforderung hinzufügen.

    So fügen Sie dem RequestResponse-Knoten untergeordnete Knoten hinzu:

    1. Klicken Sie mit der rechten Maustaste auf den Knoten RequestResponse , zeigen Sie auf Schemaknoten einfügen, und klicken Sie auf Untergeordneter Datensatz.

    2. Benennen Sie den Datensatz so um, dass er einem Antwortschema für einen Vorgang entspricht, den Sie im Rahmen des zusammengesetzten Vorgangs ausführen. Benennen Sie den Knoten beispielsweise in "InsertResponse" um.

    3. Ordnen Sie den Knoten InsertResponse dem Antwortschema für den Insert-Vorgang für die Tabelle ACCOUNTACTIVITY zu. Klicken Sie hierzu mit der rechten Maustaste auf den Knoten InsertResponse , und klicken Sie auf Eigenschaften. Wählen Sie im Feld Eigenschaften in der Liste Datentyp die Option EinfügenResponse (Verweis)aus.

    4. Wiederholen Sie diese Schritte, um Knoten für die Antwortschemas für die gespeicherte GET_ALL_ACTIVITY Prozedur und den Vorgang Löschen hinzuzufügen. Geben Sie die Knotennamen an, und ordnen Sie sie dem entsprechenden Schema zu, wie in der folgenden Tabelle erwähnt.

      Knotenname Schemazuordnung
      GET_ALL_ACTIVITYResponse GET_ALL_ACTIVITYResponse (Referenz)
      DeleteResponse DeleteResponse (Referenz)
  6. Speichern Sie die Datei CompositeSchema.xsd .

Definieren von Nachrichten und Nachrichtentypen

Das zusammengesetzte Schema, das Sie im letzten Schritt erstellt haben, beschreibt die "Typen", die für die Nachrichten in einer Orchestrierung erforderlich sind. Eine Nachricht ist in der Regel eine Variable, deren Typ durch das entsprechende Schema definiert wird. Sie müssen nun Nachrichten für die Orchestrierung erstellen und mit dem Schema verknüpfen, das Sie im vorherigen Schritt erstellt haben.

  1. Fügen Sie dem BizTalk-Projekt in Visual Studio eine Orchestrierung hinzu. Klicken Sie in Projektmappen-Explorer mit der rechten Maustaste auf den BizTalk-Projektnamen, zeigen Sie auf Hinzufügen, und klicken Sie dann auf Neues Element. Geben Sie einen Namen für die BizTalk-Orchestrierung ein, und klicken Sie dann auf Hinzufügen.

  2. Öffnen Sie das Fenster Orchestrierungsansicht des BizTalk-Projekts, wenn dieses nicht bereits geöffnet ist. Klicken Sie hierzu auf Ansicht, zeigen Sie auf Andere Fenster, und klicken Sie dann auf Orchestrierungsansicht.

  3. Klicken Sie in der Orchestrierungsansicht mit der rechten Maustaste auf Nachrichten, und klicken Sie dann auf Neue Nachricht.

  4. Klicken Sie mit der rechten Maustaste auf die neu erstellte Nachricht, und wählen Sie dann Eigenschaftenfenster aus.

  5. Führen Sie im Bereich Eigenschaften für die Message_1 die folgenden Schritte aus:

    Option Aufgabe
    Bezeichner Geben Sie Request ein
    Nachrichtentyp Erweitern Sie in der Dropdownliste Schemas, und wählen Sie dann Composite_Op.CompositeSchema.Request aus, wobei Composite_Op der Name Ihres BizTalk-Projekts ist. CompositeSchema ist das Schema, das Sie manuell für die zusammengesetzten Vorgänge erstellt haben.
  6. Wiederholen Sie Schritt 2, um eine neue Nachricht zu erstellen. Gehen Sie im Bereich Eigenschaften für die neue Nachricht wie folgt vor:

    Option Aufgabe
    Bezeichner Geben Sie Response ein
    Nachrichtentyp Erweitern Sie in der Dropdownliste Schemas, und wählen Sie dann Composite_Op.CompositeSchema.RequestResponse aus.

Einrichten der Orchestrierung

Sie müssen eine BizTalk-Orchestrierung erstellen, um BizTalk Server für die Ausführung zusammengesetzter Vorgänge in der Oracle-Datenbank zu verwenden. In dieser Orchestrierung löschen Sie eine Anforderungsnachricht an einem definierten Empfangsspeicherort. Die Anforderungsnachricht muss dem zuvor erstellten zusammengesetzten Schema entsprechen. Der Oracle Database-Adapter nutzt diese Nachricht und übergibt sie an die Oracle-Datenbank. Die Antwort aus der Oracle-Datenbank wird an einem anderen Speicherort gespeichert. Sie müssen Send- und Receive-Shapes einschließen, um Nachrichten an die Oracle-Datenbank zu senden und Antworten zu empfangen. Eine grundlegende Orchestrierung zum Ausführen zusammengesetzter Vorgänge ähnelt der folgenden:

Orchestrierung zu peform zusammengesetzten Vorgängen

Hinzufügen von Nachrichten-Shapes

Stellen Sie sicher, dass Sie die folgenden Eigenschaften für die einzelnen Nachrichtenformen angeben. Die in der Spalte Shape aufgeführten Namen sind die Namen der Nachrichtenformen, die in der gerade erwähnten Orchestrierung angezeigt werden.

Form Formtyp Eigenschaften
ReceiveMessage Empfangen Name aufReceiveMessage festlegen
– Legen Sie Aktivieren auf True fest.
SendMessage Send Name aufSendMessage festlegen
ReceiveResponse Empfangen Name aufReceiveResponse festlegen
– Legen Sie Aktivieren auf False fest.
SendResponse Send Name aufSendResponse festlegen

Hinzufügen von Ports

Stellen Sie sicher, dass Sie die folgenden Eigenschaften für jeden der logischen Ports angeben. Die in der Spalte Port aufgeführten Namen sind die Namen der Ports, die in der Orchestrierung angezeigt werden.

Port Eigenschaften
MessageIn - Bezeichner auf MessageIn festlegen
– Legen Sie Type auf MessageInType fest.
- Festlegen des Kommunikationsmusters auf unidirektionales Muster
- Festlegen der Kommunikationsrichtung auf Empfangen
LOBPort – Festlegen des Bezeichners auf LOBPort
– Legen Sie Type auf LOBPortType fest.
- Festlegen des Kommunikationsmusters auf Anforderungsantwort
- Festlegen der Kommunikationsrichtung auf Senden/Empfangen
ResponseOut – Festlegen des Bezeichners auf ResponseOut
– Festlegen von Typ auf ResponseOutType
- Festlegen des Kommunikationsmusters auf unidirektionales Muster
- Kommunikationsrichtung auf Senden festlegen

Angeben von Nachrichten für Aktions-Shapes und Verbinden mit Ports

Die folgende Tabelle gibt die Eigenschaften und deren Werte an, die Sie festlegen sollten, um Nachrichten für Aktionsformen anzugeben und die Nachrichten mit den Ports zu verknüpfen. Die in der Spalte Shape aufgeführten Namen sind die Namen der Nachrichtenformen, die in der zuvor erwähnten Orchestrierung angezeigt werden.

Form Eigenschaften
ReceiveMessage - Nachricht aufAnforderung festlegen
– Festlegen von Vorgang auf MessageIn.CompositeOp.Request
SendMessage - Nachricht aufAnforderung festlegen
– Festlegen von Vorgang auf LOBPort.CompositeOp.Request
ReceiveResponse Nachricht aufAntwort festlegen
- Festlegen von Vorgang auf LOBPort.CompositeOp.Response
SendResponse Nachricht aufAntwort festlegen
- Festlegen von Vorgang auf ResponseOut.CompositeOp.Request

Nachdem Sie diese Eigenschaften angegeben haben, sind die Nachrichtenformen und -ports verbunden, und Die Orchestrierung ist abgeschlossen.

Sie müssen jetzt die BizTalk-Lösung erstellen und in einer BizTalk Server bereitstellen. Weitere Informationen finden Sie unter Erstellen und Ausführen von Orchestrierungen.

Konfigurieren der BizTalk-Anwendung

Nachdem Sie das BizTalk-Projekt bereitgestellt haben, wird die zuvor erstellte Orchestrierung im Bereich Orchestrierungen in der BizTalk Server Verwaltungskonsole aufgeführt. Sie müssen die BizTalk Server-Verwaltungskonsole verwenden, um die Anwendung zu konfigurieren. Eine exemplarische Vorgehensweise finden Sie unter Exemplarische Vorgehensweise: Bereitstellen einer einfachen BizTalk-Anwendung.

Das Konfigurieren einer Anwendung umfasst Folgendes:

  • Auswählen eines Hosts für die Anwendung.

  • Zuordnen der Ports, die Sie in Ihrer Orchestrierung erstellt haben, zu physischen Ports in der BizTalk Server-Verwaltungskonsole. Für diese Orchestrierung müssen Sie Folgendes ausführen:

    • Definieren Sie einen Speicherort auf der Festplatte und einen entsprechenden Dateiport, an dem Sie eine Anforderungsnachricht ablegen. Die BizTalk-Orchestrierung nutzt die Anforderungsnachricht und sendet sie an die Oracle-Datenbank.

    • Definieren Sie einen Speicherort auf der Festplatte und einen entsprechenden Dateiport, an dem die BizTalk-Orchestrierung die Antwortnachricht mit der Antwort aus der Oracle-Datenbank entfernt.

    • Definieren Sie einen physischen WCF-Custom oder WCF-OracleDB Sendeport, um Nachrichten an die Oracle-Datenbank zu senden. Da die Vorgänge, die als Teil des zusammengesetzten Vorgangs ausgeführt werden, in einer einzelnen Transaktion ausgeführt werden, stellen Sie sicher, dass die UseAmbientTransaction-Bindungseigenschaft auf True festgelegt ist.

      Sie müssen auch die Aktion im Sendeport angeben. Die Aktion für einen zusammengesetzten Vorgang ist "<http://Microsoft.LobServices.OracleDB/2007/03/CompositeOperation">. Informationen zum Erstellen von Ports finden Sie unter Manuelles Konfigurieren einer physischen Portbindung an den Oracle-Datenbankadapter. Weitere Informationen zum Angeben von Aktionen für Ports finden Sie unter Konfigurieren der SOAP-Aktion für Oracle Database.

      Hinweis

      Beim Generieren des Schemas mithilfe des BizTalk-Projekt-Add-Ins "Verbrauchadapterdienst" wird auch eine Bindungsdatei erstellt, die Informationen zu den Ports und den Aktionen enthält, die für diese Ports festgelegt werden sollen. Sie können diese Bindungsdatei aus der BizTalk Server-Verwaltungskonsole importieren, um Sendeports (für ausgehende Anrufe) zu erstellen oder Ports (für eingehende Anrufe) zu empfangen. Weitere Informationen finden Sie unter Konfigurieren einer physischen Portbindung mithilfe einer Portbindungsdatei für Oracle Database. Wenn Sie diese Bindungsdatei importieren, wird die Aktion für den Sendeport auf eine dynamische Aktion festgelegt, die alle Vorgänge umfasst, die Sie im Add-In Adapterdienst nutzen beim Generieren des Schemas ausgewählt haben. Bei einem zusammengesetzten Vorgang müssen Sie die dynamische Aktion durch "<http://Microsoft.LobServices.OracleDB/2007/03/CompositeOperation"> ersetzen.

Starten der Anwendung

Sie müssen die BizTalk-Anwendung starten, um zusammengesetzte Vorgänge in der Oracle-Datenbank auszuführen. Anweisungen zum Starten einer BizTalk-Anwendung finden Sie unter Starten einer Orchestrierung.

Stellen Sie in dieser Phase Folgendes sicher:

  • Der FILE-Empfangsport zum Empfangen von Anforderungsmeldungen für die Orchestrierung wird ausgeführt.

  • Der FILE-Sendeport zum Empfangen der Antwortnachrichten von der Orchestrierung wird ausgeführt.

  • Der WCF-Custom oder WCF-OracleDB Sendeport zum Senden von Nachrichten an die Oracle-Datenbank wird ausgeführt.

  • Die BizTalk-Orchestrierung für den Vorgang wird ausgeführt.

Ausführen des Vorgangs

Nachdem Sie die Anwendung ausgeführt haben, müssen Sie eine Anforderungsnachricht an den FILE-Empfangsspeicherort ablegen. Das Schema für die Anforderungsnachricht muss dem Schema für die zusammengesetzten Vorgänge entsprechen, die Sie zuvor erstellt haben. Beispielsweise lautet eine Anforderungsnachricht, die einen Datensatz in die Tabelle ACCOUNTACTIVITY einfügt, die GET_ALL_ACTIVITY gespeicherten Prozedur aufruft und einen Datensatz aus der Tabelle ACCOUNTACTIVITY löscht:

<Request xmlns="http://Composite_Op.CompositeSchema">  
  <Insert xmlns="http://Microsoft.LobServices.OracleDB/2007/03/SCOTT/Table/ACCOUNTACTIVITY">  
    <RECORDSET>  
      <ACCOUNTACTIVITYRECORDINSERT>  
        <TID>1</TID>  
        <ACCOUNT>100001</ACCOUNT>  
        <AMOUNT>1500</AMOUNT>  
        <DESCRIPTION></DESCRIPTION>  
        <TRANSDATE>2008-06-21T15:52:19</TRANSDATE>  
        <PROCESSED>n</PROCESSED>  
      </ACCOUNTACTIVITYRECORDINSERT >  
    </RECORDSET>  
  </Insert>  
  <GET_ALL_ACTIVITY xmlns="http://Microsoft.LobServices.OracleDB/2007/03/SCOTT/Package/ACCOUNT_PKG"/>  
  <Delete xmlns="http://Microsoft.LobServices.OracleDB/2007/03/SCOTT/Table/ACCOUNTACTIVITY">  
    <FILTER>WHERE AMOUNT = 1500</FILTER>  
  </Delete>  
</Request>  

Die vorherige Anforderungsnachricht fügt zuerst einen Datensatz ein und ruft dann die GET_ALL_ACTIVITY-Prozedur auf, um alle Datensätze in der TABELLE ACCOUNTACTIVITY abzurufen. Anschließend wird der eingefügte Datensatz gelöscht, indem eine FILTER-Klausel angegeben wird. Unter Nachrichtenschemas für den zusammengesetzten Vorgang finden Sie weitere Informationen zum Anforderungsmeldungsschema zum Ausführen zusammengesetzter Vorgänge in oracle-Datenbank mithilfe des Oracle Database-Adapters.

Die Orchestrierung nutzt die Nachricht und sendet sie an die Oracle-Datenbank. Die Antwort aus der Oracle-Datenbank wird am anderen FILE-Speicherort gespeichert, der als Teil der Orchestrierung definiert ist. Die Antwort der Oracle-Datenbank für die vorherige Anforderungsnachricht ähnelt beispielsweise der folgenden:

<?xml version="1.0" encoding="utf-8" ?>   
<RequestResponse xmlns="http://Composite_Op.CompositeSchema">  
  <InsertResponse xmlns="http://Microsoft.LobServices.OracleDB/2007/03/SCOOT/Table/ACCOUNTACTIVITY">  
    <InsertResult>1</InsertResult>   
  </InsertResponse>  
  <GET_ALL_ACTIVITYResponse xmlns="http://Microsoft.LobServices.OracleDB/2007/03/SCOTT/Package/ACCOUNT_PKG">  
    <ALLRECS>  
      <xs:schema id="NewDataSet" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">  
        <xs:element msdata:IsDataSet="true" name="NewDataSet">  
          <xs:complexType>  
            <xs:sequence>  
              <xs:element minOccurs="0" maxOccurs="unbounded" name="NewTable">  
                <xs:complexType>  
                  <xs:sequence>  
                    <xs:element minOccurs="0" name="TID" type="xs:decimal" />   
                    <xs:element minOccurs="0" name="ACCOUNT" type="xs:decimal" />   
                    <xs:element minOccurs="0" name="AMOUNT" type="xs:decimal" />   
                    <xs:element minOccurs="0" name="DESCRIPTION" type="xs:string" />   
                    <xs:element minOccurs="0" name="TRANSDATE" type="xs:dateTime" />   
                    <xs:element minOccurs="0" name="PROCESSED" type="xs:string" />   
                  </xs:sequence>  
                </xs:complexType>  
              </xs:element>  
            </xs:sequence>  
          </xs:complexType>  
        </xs:element>  
      </xs:schema>  
      <diffgr:diffgram xmlns:diffgr="urn:schemas-microsoft-com:xml-diffgram-v1">  
        <NewDataSet xmlns="">  
          <NewTable>  
            ......   
            ......   
          </NewTable>  
          ......  
          ......  
          <NewTable>  
            <TID>10</TID>   
            <ACCOUNT>100001</ACCOUNT>   
            <AMOUNT>1000</AMOUNT>   
            <TRANSDATE>2008-07-28T21:39:57</TRANSDATE>   
            <PROCESSED>n</PROCESSED>   
          </NewTable>  
        </NewDataSet>  
      </diffgr:diffgram>  
    </ALLRECS>  
  </GET_ALL_ACTIVITYResponse>  
  <DeleteResponse xmlns="http://Microsoft.LobServices.OracleDB/2007/03/SCOTT/Table/ACCOUNTACTIVITY">  
    <DeleteResult>1</DeleteResult>   
  </DeleteResponse>  
</RequestResponse>  

Die vorherige Antwort enthält mehrere Resultsets, die den verschiedenen Vorgängen entsprechen, die im Rahmen des zusammengesetzten Vorgangs ausgeführt werden. Beispielsweise enthält das InsertResult Element "1", das die Anzahl der Zeilen angibt, die durch den Insert-Vorgang eingefügt werden. In ähnlicher Weise enthält das DeleteResult Element "1", das die Anzahl der Zeilen angibt, die durch den Delete-Vorgang gelöscht wurden.

Wichtig

Wenn beim Ausführen eines zusammengesetzten Vorgangs Timeoutprobleme auftreten, kann dies darauf zurückzuführen sein, dass die Anzahl der Verbindungen kleiner ist als die Anzahl von Vorgängen in einem zusammengesetzten Vorgang:

  • Gespeicherte Prozeduren, die BFILE-, BLOB-, CLOB-, NCLOB- und REF CURSOR-Parameter als OUT- oder IN OUT-Parameter enthalten.

    • Vorgang auswählen.

    Um dieses Problem zu beheben, müssen Sie sicherstellen, dass der für die MinPoolSize-Bindungseigenschaft angegebene Wert "n+1" oder höher ist, wenn die Anzahl solcher Vorgänge in einem zusammengesetzten Vorgang vorhanden ist. Weitere Informationen zur MinPoolSize-Bindungseigenschaft finden Sie unter Arbeiten mit Bindungseigenschaften.

Bewährte Methoden

Nachdem Sie das BizTalk-Projekt bereitgestellt und konfiguriert haben, können Sie Konfigurationseinstellungen in eine XML-Datei namens bindungsdatei exportieren. Nachdem Sie eine Bindungsdatei generiert haben, können Sie die Konfigurationseinstellungen aus der Datei importieren, sodass Sie keine Elemente wie Sendeports und Empfangsports für dieselbe Orchestrierung erstellen müssen. Weitere Informationen zu Bindungsdateien finden Sie unter Wiederverwenden von Oracle Database-Adapterbindungen.

Weitere Informationen

Bausteine zum Entwickeln von BizTalk-Anwendungen mit Oracle Database