Empfangen stark typisierter Datenänderungsnachrichten von SQL Server mithilfe von BizTalk Server
Sie können den SQL-Adapter so konfigurieren, dass er stark typisierte Abrufnachrichten von SQL Server empfängt. Sie können eine Abfrage-Anweisung angeben, die der Adapter ausführt, um die Datenbank abzufragen. Die Abfrage-Anweisung kann eine SELECT-Anweisung oder eine gespeicherte Prozedur sein, die ein Resultset zurückgibt.
Sie müssen eine stark typisierte Abfrage in einem Szenario verwenden, in dem Sie die Elemente in der Abrufnachricht einem anderen Schema zuordnen möchten. Das Schema, dem Sie zuordnen möchten, kann für einen anderen Vorgang auf SQL Server sein. Beispielsweise könnten Sie bestimmte Elemente in der Abrufnachricht dem Schema für einen Einfügevorgang in einer anderen Tabelle zuordnen. Daher dienen die Werte in der Abrufnachricht als Parameter für den Einfügevorgang. In einem einfacheren Szenario können Sie das Schema für eine stark typisierte Abrufnachricht einer Schemadatei zuordnen, in der nur Informationen gespeichert werden.
Wichtig
Wenn Sie mehrere Abrufvorgänge in einer einzelnen BizTalk-Anwendung ausführen möchten, müssen Sie eine InboundID-Verbindungseigenschaft als Teil des Verbindungs-URI angeben, um sie eindeutig zu machen. Mit einem eindeutigen Verbindungs-URI können Sie mehrere Empfangsports erstellen, die dieselbe Datenbank oder sogar dieselbe Tabelle in einer Datenbank abfragen. Weitere Informationen finden Sie unter Empfangen von Abrufnachrichten über mehrere Empfangsports von SQL mithilfe von Biztalk Server.
Weitere Informationen dazu, wie der Adapter stark typisierte Abfragen unterstützt, finden Sie unter Unterstützung für Die Abfrage. Weitere Informationen zum Nachrichtenschema für stark typisierte Abrufe finden Sie unter Nachrichtenschemas für die Polling- und TypedPolling-Vorgänge.
In diesem Thema wird eine stark typisierte Abfrage veranschaulicht
In diesem Thema wird veranschaulicht, wie Sie stark typisierte Abfragen verwenden, um die Abrufnachricht einem anderen Schema zuzuordnen. In diesem Thema wird gezeigt, wie Sie ein BizTalk-Projekt erstellen und ein Schema für den TypedPolling-Vorgang generieren. Vor dem Generieren eines Schemas für den TypedPolling-Vorgang müssen Sie folgendes ausführen:
Sie müssen eine eingehende ID als Teil des Verbindungs-URI angeben.
Sie müssen eine Abfrageanweisung für die Eigenschaft PollingStatement-Bindung angeben.
Führen Sie im Rahmen der Abfrage-Anweisung die folgenden Vorgänge aus:
Wählen Sie alle Zeilen aus der Tabelle Employee aus.
Führen Sie eine gespeicherte Prozedur (MOVE_EMP_DATA) aus, um alle Datensätze aus der Tabelle Employee in eine EmployeeHistory-Tabelle zu verschieben.
Führen Sie eine gespeicherte Prozedur (ADD_EMP_DETAILS) aus, um der Tabelle Employee einen neuen Datensatz hinzuzufügen. Bei diesem Verfahren werden der Name des Mitarbeiters, die Bezeichnung und das Gehalt als Parameter verwendet.
Zum Ausführen dieser Vorgänge müssen Sie Folgendes für die Eigenschaft PollingStatement-Bindung angeben:
SELECT * FROM Employee;EXEC MOVE_EMP_DATA;EXEC ADD_EMP_DETAILS John, Tester, 100000
Da Sie ein Schema für den TypedPolling-Vorgang generieren, ist das Schema stark typisiert und enthält alle Elemente, die in der Abrufnachricht enthalten sein werden.
Im Rahmen desselben BizTalk-Projekts fügen Sie eine weitere Schemadatei hinzu, z. B. EmployeeDetails.xsd. Das Schema für EmployeeDetails.xsd ähnelt folgendem:
<?xml version="1.0" encoding="utf-16" ?>
<xs:schema xmlns:b="http://schemas.microsoft.com/BizTalk/2003" xmlns="http://Typed_Polling.EmployeeDetails" elementFormDefault="qualified" targetNamespace="http://Typed_Polling.EmployeeDetails" xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:element name="EmployeeDetails">
<xs:complexType>
<xs:sequence>
<xs:element name="Employee_Info" type="xs:string" />
<xs:element name="Employee_Profile" type="xs:string" />
<xs:element name="Employee_Performance" type="xs:string" />
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:schema>
Sie fügen dem Projekt auch einen BizTalk-Mapper hinzu, um die Elemente aus der Tabelle Employee (empfangen als Abrufmeldung) den Elementen im EmployeeDetails.xsd-Schema zuzuordnen. Als Teil der Zuordnung kombinieren Sie ein oder mehrere Elemente aus der Abrufnachricht und ordnen sie einem einzelnen Element im EmployeeDetails-Schema zu. Dazu können Sie das Funktoid Zeichenfolgenkonsatenate verwenden.
Schließlich wird im Rahmen des BizTalk-Projekts eine Datei, die dem EmployeeDetails.xsd-Schema entspricht, an einen FILE-Sendeport gelöscht.
Konfigurieren von Typabfragen mit den SQL-Adapterbindungseigenschaften
In der folgenden Tabelle sind die SQL-Adapterbindungseigenschaften zusammengefasst, die Sie zum Konfigurieren des Adapters für den Empfang von Datenänderungsmeldungen verwenden. Mit Ausnahme der PollingStatement-Bindungseigenschaft sind alle anderen in diesem Abschnitt aufgeführten Bindungseigenschaften beim Konfigurieren des Empfangsports in der BizTalk Server-Verwaltungskonsole erforderlich. Sie müssen die Eigenschaft PollingStatement-Bindung angeben, bevor Sie ein Schema für den TypedPolling-Vorgang generieren.
Hinweis
Für die typisierte Abfrage müssen Sie beim Generieren des Schemas die Eigenschaft PollingStatement-Gebote angeben. Sie können beim Generieren des Schemas auch die anderen Bindungseigenschaften angeben, auch wenn sie nicht obligatorisch sind. Wenn Sie die Bindungseigenschaften angeben, enthält die Portbindungsdatei, die das Add-In "Adapterdienst nutzen" im Rahmen der Metadatengenerierung generiert, auch die Werte, die Sie für die Bindungseigenschaften angeben. Sie können diese Bindungsdatei später in die BizTalk Server-Verwaltungskonsole importieren, um den WCF-custom- oder WCF-SQL-Empfangsport mit den bereits festgelegten Bindungseigenschaften zu erstellen. Weitere Informationen zum Erstellen eines Ports mithilfe der Bindungsdatei finden Sie unter Konfigurieren einer physischen Portbindung mithilfe einer Portbindungsdatei für die Verwendung des SQL-Adapters.
Bindungseigenschaft | BESCHREIBUNG |
---|---|
InboundOperationType | Gibt an, ob Sie Den eingehenden Vorgang Polling, TypedPolling oder Notification ausführen möchten. Die Standardeinstellung ist Polling. Um stark typisierte Abrufnachrichten zu empfangen, legen Sie dies auf TypedPolling fest. |
PolledDataAvailableStatement | Gibt die SQL-Anweisung an, die der Adapter ausführt, um zu bestimmen, ob Daten für die Abfrage verfügbar sind. Die SQL-Anweisung muss ein Resultset zurückgeben, das aus Zeilen und Spalten besteht. Nur wenn eine Zeile verfügbar ist, wird die FÜR die Eigenschaft PollingStatement-Bindung angegebene SQL-Anweisung ausgeführt. |
PollingIntervalInSeconds | Gibt das Intervall in Sekunden an, in dem der SQL-Adapter die Anweisung ausführt, die für die PolledDataAvailableStatement-Bindungseigenschaft angegeben ist. Der Standardwert ist 30 Sekunden. Das Abfrageintervall bestimmt das Zeitintervall zwischen aufeinander folgenden Umfragen. Wenn die Anweisung innerhalb des angegebenen Intervalls ausgeführt wird, wartet der Adapter auf die verbleibende Zeit im Intervall. |
PollingStatement | Gibt die SQL-Anweisung zum Abfragen der SQL Server Datenbanktabelle an. Sie können eine einfache SELECT-Anweisung oder eine gespeicherte Prozedur für die Abfrage-Anweisung angeben. Der Standardwert ist NULL. Sie müssen einen Wert für PollingStatement angeben, um die Abfrage zu aktivieren. Die Abfrageanweisung wird nur ausgeführt, wenn Daten für die Abfrage verfügbar sind, die durch die PolledDataAvailableStatement-Bindungseigenschaft bestimmt werden. Sie können eine beliebige Anzahl von SQL-Anweisungen angeben, die durch ein Semikolon getrennt sind. Wichtig: Für TypedPolling müssen Sie diese Bindungseigenschaft angeben, bevor Metadaten generiert werden. |
PollWhileDataFound | Gibt an, ob der SQL-Adapter das Abrufintervall ignoriert und kontinuierlich die SQL-Anweisung ausführt, die für die Eigenschaft PolledDataAvailableStatement angegeben ist, wenn Daten in der abgefragten Tabelle verfügbar sind. Wenn keine Daten in der Tabelle verfügbar sind, wird die SQL-Anweisung vom Adapter zum angegebenen Abrufintervall ausgeführt. Die Standardeinstellung lautet false. |
Eine ausführlichere Beschreibung dieser Eigenschaften finden Sie unter Informationen zum BizTalk-Adapter für SQL Server Adapterbindungseigenschaften. Eine vollständige Beschreibung der Verwendung des SQL-Adapters zum Abfragen SQL Server finden Sie weiter.
Empfangen stark typisierter Datenänderungsmeldungen aus der SQL Server-Datenbank
Das Ausführen eines Vorgangs für die SQL Server-Datenbank mithilfe des SQL-Adapters mit BizTalk Server umfasst die unter Bausteine beschriebenen prozeduralen Aufgaben zum Entwickeln von BizTalk-Anwendungen mit dem SQL-Adapter. Zum Konfigurieren des Adapters für den Empfang stark typisierter Datenänderungsnachrichten sind die folgenden Aufgaben:
Erstellen Sie ein BizTalk-Projekt, und generieren Sie dann ein Schema für den TypedPolling-Vorgang . Sie müssen die Verbindungseigenschaft InboundID und die Eigenschaft PollingStatement-Bindung beim Generieren des Schemas angeben. Beispielsweise ähnelt ein Verbindungs-URI mit der angegebenen eingehenden ID wie folgt:
mssql://mysqlserver//mysqldatabase?InboundID=mydatabaseId
Erstellen Sie im BizTalk-Projekt eine Nachricht zum Empfangen von Nachrichten aus der SQL Server-Datenbank.
Erstellen Sie eine Orchestrierung, um Nachrichten aus der SQL Server Datenbank zu empfangen und sie in einem Ordner zu speichern.
Fügen Sie im BizTalk-Projekt ein Schema hinzu, z. B. EmployeeDetails.xsd.
Fügen Sie einen BizTalk-Mapper hinzu, um das Schema für die Abrufnachricht dem EmployeeDetails.xsd-Schema zuzuordnen.
Erstellen und Bereitstellen des BizTalk-Projekts.
Konfigurieren Sie die BizTalk-Anwendung, indem Sie physische Sende- und Empfangsports erstellen.
Wichtig
Für Eingehende Abfrageszenarien müssen Sie immer einen unidirektionalen WCF-Custom- oder WCF-SQL-Empfangsport konfigurieren. Bidirektionale WCF-Custom- oder WCF-SQL-Empfangsports werden für eingehende Vorgänge nicht unterstützt.
Starten Sie die BizTalk-Anwendung.
Dieses Thema enthält Anweisungen zum Ausführen dieser Aufgaben.
Beispiel basierend auf diesem Thema
Ein Beispiel, TypedPolling, basierend auf diesem Thema wird mit dem BizTalk Adapter Pack bereitgestellt. Weitere Informationen finden Sie unter Beispiele für den SQL-Adapter.
Schema generieren
Sie müssen das Schema für den TypedPolling-Vorgang generieren. Weitere Informationen zum Generieren des Schemas finden Sie unter Abrufen von Metadaten für SQL Server Vorgänge in Visual Studio mithilfe des SQL-Adapters. Führen Sie beim Generieren des Schemas die folgenden Aufgaben aus.
Geben Sie die Verbindungseigenschaft Eingehende ID an, während Sie den Verbindungs-URI angeben. Für dieses Thema können Sie die InboundID als Employee angeben. Weitere Informationen zum Verbindungs-URI finden Sie unter Erstellen des SQL Server Verbindungs-URI.
Geben Sie einen Wert für die Bindungseigenschaft PollingStatement an. Weitere Informationen zu dieser Bindungseigenschaft finden Sie unter Informationen zum BizTalk-Adapter für SQL Server Adapterbindungseigenschaften.
Anweisungen zum Angeben von Bindungseigenschaften finden Sie unter Konfigurieren der Bindungseigenschaften für den SQL-Adapter.
Wählen Sie den Vertragstyp als Dienst (eingehender Vorgang) aus.
Generieren Sie ein Schema für den TypedPolling-Vorgang .
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 in der Regel eine Variable, deren Typ durch das entsprechende Schema definiert wird. Nachdem das Schema generiert wurde, müssen Sie es mit den Meldungen aus der Orchestrierungsansicht des BizTalk-Projekts verknüpfen.
Für dieses Thema müssen Sie eine Nachricht erstellen, um Nachrichten aus der SQL Server-Datenbank zu empfangen.
Führen Sie die folgenden Schritte aus, um Nachrichten zu erstellen und mit dem Schema zu verknüpfen.
Erstellen von Nachrichten und Verknüpfen mit dem Schema
Fügen Sie dem BizTalk-Projekt eine Orchestrierung hinzu. Klicken Sie im Projektmappen-Explorer mit der rechten Maustaste auf den Namen des BizTalk-Projekts, 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.
Öffnen Sie das Fenster "Orchestrierungsansicht" des BizTalk-Projekts, wenn es noch nicht geöffnet ist. Klicken Sie auf Ansicht, zeigen Sie auf Andere Fenster, und klicken Sie dann auf Orchestrierungsansicht.
Klicken Sie in der Orchestrierungsansicht mit der rechten Maustaste auf Nachrichten, und klicken Sie dann auf Neue Nachricht.
Klicken Sie mit der rechten Maustaste auf die neu erstellte Nachricht, und wählen Sie dann Eigenschaftenfenster aus.
Gehen Sie im Bereich Eigenschaften für Message_1 wie folgt vor:
Option Aufgabe Bezeichner Geben Sie PollingMessage ein. Nachrichtentyp Erweitern Sie in der Dropdownliste Schemas, und wählen Sie Typed_Polling.TypedPolling_Employee.TypedPolling aus, wobei Typed_Polling der Name Ihres BizTalk-Projekts ist. TypedPolling_Employee ist das Schema, das für den TypedPolling-Vorgang generiert wird.
Einrichten der Orchestrierung
Sie müssen eine BizTalk-Orchestrierung erstellen, um BizTalk Server zum Empfangen abrufbasierter Datenänderungsmeldungen aus der SQL Server-Datenbank zu verwenden. Bei dieser Orchestrierung empfängt der Adapter die Abrufmeldung für die angegebene Abrufausweisung. Der BizTalk Mapper ordnet dann das Abrufnachrichtenschema dem EmployeeDetails.xsd-Schema zu. Die zugeordnete Nachricht wird dann an einem FILE-Speicherort gespeichert. Eine typische Orchestrierung zum Empfangen einer stark typisierten Abrufnachricht aus einer SQL Server-Datenbank würde Folgendes enthalten:
Empfangen und Senden von Shapes, um Nachrichten von SQL Server bzw. an einen FILE-Port zu senden.
Ein unidirektionale Empfangsport zum Empfangen von Nachrichten von SQL Server.
Wichtig
Für Szenarien für eingehende Abrufe müssen Sie immer einen unidirektionale Empfangsport konfigurieren. Bidirektionale Empfangsports werden für eingehende Vorgänge nicht unterstützt.
Ein unidirektionale Sendeport zum Senden von Abrufantworten aus einer SQL Server-Datenbank an einen Ordner.
Ein BizTalk-Mapper zum Zuordnen des Schemas der Abrufnachricht zu einem beliebigen anderen Schema.
Eine Beispielorchestrierung sieht wie folgt aus.
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. |
SaveMessage | Send | – Name aufSaveMessage 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, wie in der Orchestrierung angezeigt.
Port | Eigenschaften |
---|---|
SQLReceivePort | – Bezeichner auf SQLReceivePort festlegen – Legen Sie Type auf SQLReceivePortType fest. – Festlegen des Kommunikationsmusters auf Unidirektionale – Festlegen der Kommunikationsrichtung auf "Empfangen" |
SaveMessagePort | – Bezeichner auf SaveMessagePort festlegen – Legen Sie Type auf SaveMessagePortType fest. – Festlegen des Kommunikationsmusters auf Unidirektionale – Kommunikationsrichtung auf Senden festlegen |
Eingeben von Nachrichten für Aktions-Shapes und Herstellen einer Verbindung 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 | Festlegen der Nachricht auf PollingMessage Festlegen von Operation auf SQLReceivePort.TypedPolling.Request |
SaveMessage | Festlegen der Nachricht auf PollingMessage Legen Sie Operation auf SaveMessagePort.TypedPolling.Request fest. |
Nachdem Sie diese Eigenschaften angegeben haben, werden die Nachrichtenformen und Ports verbunden.
Hinzufügen eines BizTalk-Mappers
Sie müssen der Orchestrierung einen BizTalk-Mapper hinzufügen, um das Abrufnachrichtenschema dem EmployeeDetails.xsd-Schema zuzuordnen. In der BizTalk Server-Verwaltungskonsole verwenden Sie diesen Mapper, um das Schema für die Abrufnachricht dem EmployeeDetails.xsd-Schema zuzuordnen.
Fügen Sie dem BizTalk-Projekt einen BizTalk-Mapper hinzu. Klicken Sie mit der rechten Maustaste auf das BizTalk-Projekt, zeigen Sie auf Hinzufügen, und klicken Sie auf Neues Element.
Wählen Sie im Dialogfeld Neues Element hinzufügen im linken Bereich die Option Dateien zuordnen aus. Wählen Sie im rechten Bereich Zuordnung aus. Geben Sie einen Namen für die Zuordnung an, z
MapSchema.btm
. B. . Klicken Sie auf Hinzufügen.Klicken Sie im Bereich Quellschema auf Quellschema öffnen.
Erweitern Sie im Dialogfeld BizTalk-Typauswahl den Projektnamen, erweitern Sie Schemas, und wählen Sie das Schema für die Abrufmeldung aus. Wählen Sie für dieses Thema Typed_Polling.TypedPolling_Employee aus. Klicken Sie auf OK.
Wählen Sie im Dialogfeld Stammknoten für Quellschema die Option TypedPolling aus, und klicken Sie auf OK.
Klicken Sie im Bereich Zielschema auf Zielschema öffnen.
Erweitern Sie im Dialogfeld BizTalk-Typauswahl den Projektnamen, erweitern Sie Schemas, und wählen Sie das Schema für EmployeeDetails aus. Wählen Sie für dieses Thema Typed_Polling.EmployeeDetails aus. Klicken Sie auf OK.
Erweitern Sie im Quellschema der Abrufnachricht den Knoten TypedPollingResultSet0 und die nachfolgenden Knoten, um die Elemente anzuzeigen, die in der Abrufnachricht zurückgegeben werden. Erweitern Sie im Zielschema den Knoten EmployeeDetails, um die verschiedenen Elemente im Schema anzuzeigen. Für dieses Thema müssen Sie die Schemas so zuordnen, dass:
Employee_ID und Name im Quellschema müssen Employee_Info im Zielschema zugeordnet werden.
Bezeichnung und Job_Description im Quellschema müssen Employee_Profile im Zielschema zugeordnet werden.
Bewertung und Gehalt im Quellschema müssen Employee_Performance im Zielschema zugeordnet werden.
Um mehrere Knoten im Quellschema zu kombinieren und sie einem einzelnen Knoten im Zielschema zuzuordnen, müssen Sie das Funktoid Zeichenfolgenkonsatenate verwenden. Details finden Sie in der Referenz zu benutzeroberflächen- und entwickler-API-Namespaces.
So verwenden Sie das Zeichenfolgenkonsatenate-Funktoid:
Ziehen Sie aus der Toolbox das Funktoid Zeichenfolgenverketten , und legen Sie es im Zuordnungsraster ab.
Verbinden Sie die Elemente Employee_ID und Name im Quellschema mit dem Funktoid.
Verbinden Sie das Funktoid mit dem Employee_Info-Element im Zielschema.
Wiederholen Sie diese Schritte für alle Elemente, die Sie zuordnen möchten. Eine fertige Karte ähnelt der folgenden:
Speichern Sie die Zuordnung.
Die Orchestrierung ist abgeschlossen, nachdem Sie den Mapper erstellt haben. 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 Orchestrierung 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 physischen WCF-Custom- oder WCF-SQL-Unidirektionalen Empfangsport. Dieser Port ruft die SQL Server Datenbank mit der Abfrage-Anweisung ab, die Sie für den Port angeben. Informationen zum Erstellen von Ports finden Sie unter Manuelles Konfigurieren einer physischen Portbindung an den SQL-Adapter. Stellen Sie sicher, dass Sie die folgenden Bindungseigenschaften für den Empfangsport angeben.
Wichtig
Stellen Sie sicher, dass Sie die eingehende ID als Teil des Verbindungs-URI angeben. Die eingehende ID muss identisch sein, die Sie beim Generieren des Schemas angegeben haben.
Wichtig
Sie müssen diesen Schritt nicht ausführen, wenn Sie die Bindungseigenschaften zur Entwurfszeit angegeben haben. In einem solchen Fall können Sie einen WCF-benutzerdefinierten oder WCF-SQL-Empfangsport erstellen, wobei die erforderlichen Bindungseigenschaften festgelegt sind, indem Sie die bindungsdatei importieren, die vom Add-In Consume Adapter Service erstellt wurde. Weitere Informationen finden Sie unter Konfigurieren einer physischen Portbindung mithilfe einer Portbindungsdatei für die Verwendung des SQL-Adapters.
Bindungseigenschaft Wert InboundOperationType Stellen Sie sicher, dass Sie dies auf TypedPolling festlegen. PolledDataAvailableStatement Stellen Sie sicher, dass Sie dieselbe SQL-Anweisung angeben, die Sie beim Generieren des Schemas angegeben haben:
SELECT COUNT(*) FROM Employee
PollingStatement Stellen Sie sicher, dass Sie dieselbe Abfrage-Anweisung angeben, die Sie beim Generieren des Schemas angegeben haben:
SELECT * FROM Employee;EXEC MOVE_EMP_DATA;EXEC ADD_EMP_DETAILS John, Tester, 100000
Weitere Informationen zu den verschiedenen Bindungseigenschaften finden Sie unter Informationen zum BizTalk-Adapter für SQL Server Adapterbindungseigenschaften.
Hinweis
Es wird empfohlen, die Transaktionsisolationsstufe und das Transaktionstimeout zu konfigurieren, während eingehende Vorgänge mithilfe des SQL-Adapters ausgeführt werden. Dazu fügen Sie das Dienstverhalten beim Konfigurieren des WCF-Custom- oder WCF-SQL-Empfangsports hinzu. Anweisungen zum Hinzufügen des Dienstverhaltens finden Sie unter Konfigurieren der Transaktionsisolationsstufe und des Transaktionstimeouts mit SQL.
Definieren Sie einen FILE-Sendeport, an dem der Adapter die Nachricht abgibt. Dieser Sendeport verwendet auch die Zuordnung, die Sie in der Orchestrierung erstellt haben, um die Abrufnachricht einer Nachricht zuzuordnen, die dem EmployeeDetails.xsd-Schema entspricht. Führen Sie die folgenden Schritte aus, um den FILE-Sendeport für die Verwendung der Karte zu konfigurieren.
Erstellen Sie einen FILE-Sendeport.
Klicken Sie im linken Bereich des Dialogfelds Eigenschaften des Sendeports auf Ausgehende Zuordnungen. Klicken Sie im rechten Bereich auf das Feld unter der Spalte Zuordnung , und wählen Sie in der Dropdownliste MapSchema aus. Klicken Sie auf OK.
Starten der Anwendung
Sie müssen die BizTalk-Anwendung starten, um Nachrichten aus der SQL Server-Datenbank zu empfangen. Anweisungen zum Starten einer BizTalk-Anwendung finden Sie unter Starten einer Orchestrierung.
Stellen Sie in dieser Phase Folgendes sicher:
Der WCF-Custom- oder WCF-SQL-Unidirektionale Empfangsport, der die SQL Server Datenbank mithilfe der anweisungen abfragt, die für die Eigenschaft PollingStatement-Bindung angegeben sind.
Der FILE-Sendeport, der die Abrufnachricht dem EmployeeDetails-Schema zuordnen wird, wird ausgeführt.
Die BizTalk-Orchestrierung für den Vorgang wird ausgeführt.
Ausführen des Vorgangs
Nachdem Sie die Anwendung ausgeführt haben, finden die folgenden Aktionen in derselben Reihenfolge statt:
Der Adapter führt das PolledDataAvailableStatement für die Tabelle Employee aus und ermittelt, dass die Tabelle Datensätze für die Abfrage enthält.
Der Adapter führt die Abfrage-Anweisung aus. Da die Abfrage-Anweisung aus einer SELECT-Anweisung und gespeicherten Prozeduren besteht, führt der Adapter alle Anweisungen nacheinander aus.
Der Adapter führt zuerst die SELECT-Anweisung aus, die alle Datensätze in der Tabelle Employee zurückgibt.
Der Adapter führt dann die MOVE_EMP_DATA gespeicherten Prozedur aus, die alle Daten aus der Tabelle Employee in die Tabelle EmployeeHistory verschiebt. Diese gespeicherte Prozedur gibt keinen Wert zurück.
Der Adapter führt dann die ADD_EMP_DETAILS gespeicherte Prozedur aus, die der Tabelle Employee einen Datensatz hinzufügt. Diese gespeicherte Prozedur gibt die Mitarbeiter-ID für den eingefügten Datensatz zurück.
Nachdem die Abfrage-Anweisung ausgeführt und die Nachricht empfangen wurde, wird die Abrufnachricht an den FILE-Sendeport gesendet. Hier ordnet die am Sendeport konfigurierte ausgehende Zuordnung (MapSchema) die Abrufnachricht dem EmployeeDetails-Schema zu und löscht die Nachricht an einen Dateispeicherort. Die Meldung ähnelt der folgenden:
<?xml version="1.0" encoding="utf-8" ?> <EmployeeDetails xmlns="http://Typed_Polling.EmployeeDetails"> <Employee_Info>10751John</Employee_Info> <Employee_Profile>TesterManagesTesting</Employee_Profile> <Employee_Performance>100000</EmployeePerformance> </EmployeeDetails>
In der vorherigen Antwort können Sie feststellen, dass das Employee_Info-Element eine Kombination aus Mitarbeiter-ID (10751) und Mitarbeitername (John) enthält. Die anderen Elemente enthalten auch Kombinationen, die im Mapper zugeordnet sind, den Sie im Rahmen der Orchestrierung erstellt haben.
Hinweis
Der SQL-Adapter ruft weiterhin ab, bis Sie den Empfangsport von der BizTalk Server-Verwaltungskonsole explizit deaktivieren.
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 nicht die Sende- und Empfangsports für dieselbe Orchestrierung erstellen müssen. Weitere Informationen zu Bindungsdateien finden Sie unter Wiederverwenden von Adapterbindungen.
Weitere Informationen
Abfragen von SQL Server mithilfe des SQL-Adapters mit BizTalk Server