Freigeben über


Einfügen, Aktualisieren, Löschen oder Auswählen von Vorgängen mithilfe von BizTalk Server mit dem SQL-Adapter

Der Microsoft BizTalk-Adapter für SQL Server zeigt eine Reihe von Standardvorgängen für SQL Server Datenbanktabellen und -sichten an. Diese werden als DML-Vorgänge (Data Manipulation Language) bezeichnet. Mithilfe von DML-Vorgängen können Sie einfache Einfüge-, Aktualisierungs-, Auswahl- und Löschvorgänge für Tabellen und Sichten ausführen. Weitere Informationen dazu, wie der Adapter diese Vorgänge unterstützt, finden Sie unter Einfügen, Aktualisieren, Löschen und Auswählen von Vorgängen für Tabellen und Sichten mit dem SQL-Adapter. Informationen zur Struktur der SOAP-Nachricht für diese Vorgänge finden Sie unter Nachrichtenschemas für Einfügen, Aktualisieren, Löschen und Auswählen von Vorgängen für Tabellen und Sichten.

Hinweis

Wenn Sie Vorgänge für Tabellen ausführen, die Spalten von benutzerdefinierten Typen enthalten, stellen Sie sicher, dass Sie unter Vorgänge für Tabellen und Ansichten mit User-Defined Typen den SQL-Adapter verwenden , bevor Sie mit der Entwicklung Ihrer Anwendung beginnen.

Ausführen grundlegender Vorgänge für eine SQL Server-Datenbank

Das Ausführen eines Vorgangs für eine SQL Server-Datenbank mithilfe des SQL-Adapters mit BizTalk Server umfasst prozedurale Aufgaben, die unter Bausteine zum Entwickeln von BizTalk-Anwendungen mit dem SQL-Adapter beschrieben werden. Zum Ausführen von Einfüge-, Update-, Lösch- oder Auswahlvorgängen für Tabellen und Sichten in SQL Server lauten die folgenden Aufgaben:

  1. Erstellen Sie ein BizTalk-Projekt, und generieren Sie ein Schema für den Vorgang, den Sie für eine SQL Server Datenbanktabelle oder -sicht aufrufen möchten.

  2. Erstellen Sie Nachrichten im BizTalk-Projekt zum Senden und Empfangen von Nachrichten aus der SQL Server-Datenbank.

  3. Erstellen Sie eine Orchestrierung, um den Vorgang für die SQL Server Datenbanktabelle oder -sicht aufzurufen.

  4. Erstellen sie das BizTalk-Projekt, und stellen Sie es bereit.

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

  6. Starten Sie die BizTalk-Anwendung.

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

Beispiel basierend auf diesem Thema

Das Auf diesem Thema basierende Beispiel SelectTable wird mit dem BizTalk-Adapterpaket bereitgestellt. Weitere Informationen finden Sie unter Beispiele für den SQL-Adapter.

Generieren eines Schemas

In diesem Thema wird veranschaulicht, wie Sie grundlegende DML-Vorgänge ausführen, indem Sie Datensätze aus der TABELLE EMPLOYEE in der SQL Server-Datenbank auswählen. Führen Sie die mit den Beispielen bereitgestellten Skripts aus, um die EMPLOYEE-Tabelle zu erstellen. Weitere Informationen zu den Beispielen finden Sie unter Schemabeispiele.

Um zu veranschaulichen, wie Datensätze ausgewählt werden, wird ein Schema für den Select-Vorgang für die TABELLE EMPLOYEE generiert. Sie müssen ein BizTalk-Projekt erstellen und das Add-In Consume Adapter Service verwenden, um das Schema zu generieren. Weitere Informationen zum Generieren von Schemas finden Sie unter Abrufen von Metadaten für SQL Server Vorgänge in Visual Studio mithilfe des SQL-Adapters.

Wichtig

Wenn Sie Metadaten für Vorgänge für eine Tabelle mit Spalten benutzerdefinierter Typen (User-Defined Types, UDTs) generieren, stellen Sie sicher, dass die entsprechenden Assemblys der UDTs am selben Speicherort wie die ausführbare Visual Studio-Datei verfügbar sind, devenv.exe. Die ausführbare Datei ist in der Regel unter <installation drive>:\Program Files\Microsoft Visual Studio <version>\Common7\IDEverfügbar. In diesem Beispiel weist die EMPLOYEE-Tabelle eine UDT -Spalte (Point) auf. Stellen Sie sicher, dass Sie die entsprechende Assembly am selben Speicherort wie die ausführbare Visual Studio-Datei kopieren.

Informationen zum Erstellen eines UDT finden Sie unter Erstellen eines User-Defined-Typs. Informationen zum Registrieren eines UDT in SQL Server finden Sie unter Registrieren von User-Defined Typen in SQL Server.

Definieren von Nachrichten und Nachrichtentypen

Das Schema, das Sie zuvor generiert haben, beschreibt die "Typen", die für die Nachrichten in der Orchestrierung erforderlich sind. Eine Nachricht ist normalerweise eine Variable, deren Typ durch das entsprechende Schema definiert wird. Sie müssen nun Nachrichten für die Orchestrierung erstellen und sie mit Schemas verknüpfen, die Sie im vorherigen Schritt generiert haben.

  1. Fügen Sie dem BizTalk-Projekt eine Orchestrierung hinzu. Klicken Sie 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. Gehen Sie im Bereich Eigenschaften für die Message_1 wie folgt vor:

    Option Aufgabe
    Bezeichner Geben Sie Request ein
    Nachrichtentyp Erweitern Sie in der Dropdownliste Schemas, und wählen Sie dann SelectTable.TableOperation_dbo_Employee.Select aus, wobei SelectTable der Name Ihres BizTalk-Projekts ist. TableOperation_dbo_Employee ist das Schema, das für den Select-Vorgang in der Tabelle EMPLOYEE generiert wird.
  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 SelectTable.TableOperation_dbo_Employee.SelectResponse aus.

Einrichten der Orchestrierung

Sie müssen eine BizTalk-Orchestrierung erstellen, um BizTalk Server zum Ausführen eines Vorgangs für SQL Server zu verwenden. Bei dieser Orchestrierung legen Sie eine Anforderungsnachricht an einem definierten Empfangsspeicherort ab. Der SQL-Adapter verwendet diese Nachricht und übergibt sie an SQL Server. Die Antwort von SQL Server wird an einem anderen Speicherort gespeichert. Sie müssen Send- und Receive-Shapes einschließen, um Nachrichten an SQL Server zu senden bzw. Antworten zu empfangen. Eine Beispielorchestrierung für den Select-Vorgang sieht wie folgt aus:

Orchestrierung für select-Vorgang auf SQL Server

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 Shape-Typ Eigenschaften
ReceiveMessage Empfangen – Legen Sie Name auf ReceiveMessage fest.
– Legen Sie Activate auf True fest.
SendMessage Send Name aufSendMessage festlegen
ReceiveResponse Empfangen Name aufReceiveResponse festlegen
– Legen Sie Activate auf False fest.
SendResponse Send – Legen Sie Name auf SendResponse fest.

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, wie in der Orchestrierung angezeigt.

Port Eigenschaften
MessageIn Bezeichner auf MessageIn festlegen
– Legen Sie Type auf MessageInType fest.
– Festlegen des Kommunikationsmusters auf Unidirektionale
– Festlegen der Kommunikationsrichtung auf "Empfangen"
LOBPort Bezeichner auf LOBPort festlegen
– Legen Sie Type auf LOBPortType fest.
– Festlegen des Kommunikationsmusters auf Request-Response
– Festlegen der Kommunikationsrichtung auf Senden/Empfangen
ResponseOut Bezeichner auf ResponseOut festlegen
– Legen Sie Type auf ResponseOutType fest.
– Festlegen des Kommunikationsmusters auf Unidirektionale
Kommunikationsrichtung auf Senden festlegen

Geben Sie Nachrichten für Aktions-Shapes an, und verbinden Sie sie mit Ports.

In der folgenden Tabelle sind die Eigenschaften und deren Werte angegeben, die Sie festlegen sollten, um Meldungen 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 Meldungs-Shapes, die in der zuvor erwähnten Orchestrierung angezeigt werden.

Form Eigenschaften
ReceiveMessage Nachricht aufAnforderung festlegen
– Legen Sie Operation auf MessageIn.Select.Request fest.
SendMessage Nachricht aufAnforderung festlegen
– Legen Sie Operation auf LOBPort.Select.Request fest.
ReceiveResponse Nachricht aufAntwort festlegen
– Legen Sie Operation auf LOBPort.Select.Response fest.
SendResponse Nachricht aufAntwort festlegen
– Legen Sie Operation auf ResponseOut.Select.Request fest.

Nachdem Sie diese Eigenschaften angegeben haben, werden die Nachrichtenformen und Ports verbunden, und Die Orchestrierung ist abgeschlossen.

Sie müssen nun die BizTalk-Lösung erstellen und in 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:

    • 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 SQL Server-Datenbank.

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

    • Definieren Sie einen physischen WCF-Custom oder WCF-SQL-Sendeport, um Nachrichten an die SQL Server-Datenbank zu senden. Sie müssen die Aktion auch im Sendeport angeben. Informationen zum Erstellen von Ports finden Sie unter Manuelles Konfigurieren einer physischen Portbindung an den SQL-Adapter.

      Hinweis

      Beim Generieren des Schemas mithilfe des BizTalk-Projekt-Add-Ins "Consume Adapter Service" 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) oder Empfangsports (für eingehende Anrufe) zu erstellen. Weitere Informationen finden Sie unter Konfigurieren einer physischen Portbindung mithilfe einer Portbindungsdatei für die Verwendung des SQL-Adapters.

Starten der Anwendung

Sie müssen die BizTalk-Anwendung starten, um Datensätze aus einer SQL Server Datenbanktabelle auszuwählen. Die Schritte 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-SQL-Sendeport zum Senden von Nachrichten an die SQL Server Datenbank ausgeführt wird.

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

Wichtig

Wenn Sie Vorgänge für eine Tabelle ausführen, die Spalten von benutzerdefinierten Typen (User-Defined Types, UDTs) enthält, stellen Sie sicher, dass die entsprechenden Assemblys der UDTs am selben Speicherort wie die ausführbare BizTalk Server verfügbar sind, btsntsvc.exe. Die ausführbare Datei ist in der Regel unter <installation drive>:\Program Files\Microsoft BizTalk Server <version>verfügbar. In diesem Beispiel weist die EMPLOYEE-Tabelle eine UDT -Spalte (Point) auf. Stellen Sie sicher, dass Sie die entsprechende Assembly am selben Speicherort wie die ausführbare BizTalk Server kopieren.

Informationen zum Erstellen eines UDT finden Sie unter Erstellen eines User-Defined-Typs. Informationen zum Registrieren eines UDT in SQL Server finden Sie unter Registrieren User-Defined Typen in SQL Server.

Ausführen des Vorgangs

Nachdem Sie die Anwendung ausgeführt haben, müssen Sie eine Anforderungsnachricht am File-Empfangsspeicherort ablegen. Das Schema für die Anforderungsnachricht muss dem Schema für den Select-Vorgang entsprechen, den Sie zuvor generiert haben. Die Anforderungsnachricht zum Auswählen aller Datensätze aus der TABELLE EMPLOYEE lautet beispielsweise:

<Select xmlns="http://schemas.microsoft.com/Sql/2008/05/TableOp/dbo/Employee">  
  <Columns>*</Columns>  
  <Query>where Employee_ID=10001</Query>  
</Select>  

Diese Anforderungsnachricht ruft Datensätze aus der Employee-Tabelle ab, die die im <Query> -Element angegebene Bedingung erfüllen. Wenn Sie bestimmte Spalten aus der Tabelle abrufen möchten, müssen Sie sie im <Columns-Element> durch Komma getrennt in derselben Reihenfolge angeben, wie sie in der Tabellendefinition angezeigt werden. Wenn Sie keine Bedingung zum Abrufen von Daten angeben möchten, lassen Sie das <Query> Element leer. Weitere Informationen zum Anforderungsnachrichtenschema zum Ausführen grundlegender DML-Vorgänge für SQL Server Datenbanktabellen und -sichten mithilfe des SQL-Adapters finden Sie unter Nachrichtenschemas zum Einfügen, Aktualisieren, Löschen und Auswählen von Vorgängen in Tabellen und Sichten.

Die Orchestrierung nutzt die Nachricht und sendet sie an SQL Server Datenbank. Die Antwort von SQL Server Datenbank wird am anderen FILE-Speicherort gespeichert, der als Teil der Orchestrierung definiert ist. Die Antwort von SQL Server Datenbank für die vorherige Anforderungsnachricht lautet beispielsweise:

<?xml version="1.0" encoding="utf-8" ?>   
<SelectResponse xmlns="mssql://Microsoft.LobServices.Sql/2008/01/TVOp/dbo/Employee">  
  <SelectResult>  
    <Employee xmlns="mssql://Microsoft.LobServices.Sql/2008/01/Types/Tables/dbo">  
      <Employee_ID>10001</Employee_ID>  
      <Name>John</Name>  
      <DOJ>1983-12-31T00:00:00Z</DOJ>  
      <Designation>Manager</Designation>  
      <Job_Description>Management</Job_Description>  
      <Photo>EjRVYzRFVQ==</Photo>  
      <Rating>1,2</Rating>  
      <Salary>100000.00</Salary>  
      <Last_Modified>AAAAAAAAD6I=</Last_Modified>  
    </Employee>  
  </SelectResult>  
</SelectResponse>  

Bewährte Methoden

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

  • Wenn Sie große Datenmengen einfügen, aktualisieren oder löschen, stellen Sie sicher, dass Sie die richtigen Timeoutwerte für den WCF-Adapter und für die MSDTC-Transaktion festlegen. Weitere Informationen finden Sie unter Problem "Der Adapter kann große Datenmengen in einem einzelnen Vorgang mithilfe von BizTalk Server nicht einfügen, aktualisieren oder löschen" unter Behandeln von Betriebsproblemen mit dem SQL-Adapter.

Weitere Informationen

Entwickeln von BizTalk-Anwendungen mithilfe des SQL-Adapters