Empfangen von abfragenbasierten datenveränderten Nachrichten von SQL Server mithilfe von BizTalk Server
Sie können den SQL-Adapter so konfigurieren, dass er regelmäßige Datenänderungsmeldungen für SQL Server Tabellen oder Ansichten 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.
Weitere Informationen dazu, wie der Adapter Abrufe unterstützt, finden Sie unter Unterstützung für Die Abfrage. Informationen zur Struktur der SOAP-Nachricht für Abrufvorgänge finden Sie unter Nachrichtenschemas für die Polling- und TypedPolling-Vorgänge.
Hinweis
In diesem Thema wird veranschaulicht, wie Sie den Eingehenden Abfragevorgang verwenden, um Abrufnachrichten zu verwenden. Die Nachricht für den Abfragevorgang ist nicht stark typisiert, und das Schema des abgefragten Objekts wird zusammen mit der Nachricht zur Laufzeit abgerufen. Wenn Sie eine stark typisierte Abfragenachricht erhalten möchten, müssen Sie den TypedPolling-Vorgang verwenden. Sie müssen auch den TypedPolling-Vorgang verwenden, um mehrere Abrufvorgänge in einer einzelnen BizTalk-Anwendung durchzuführen. Anweisungen zum Ausführen von TypedPolling-Vorgängen finden Sie unter Empfangen stark typisierter abrufbasierter datenverändernder Nachrichten von SQL Server Using BizTalk Server.
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 mit BizTalk Server.
In diesem Thema wird die Abfrage veranschaulicht
Um zu veranschaulichen, wie der SQL-Adapter den Empfang von Datenänderungsnachrichten unterstützt, erstellen Sie ein BizTalk-Projekt, und generieren Sie ein Schema für den Abfragevorgang . Wenn Sie zur Entwurfszeit die abfragebezogenen Bindungseigenschaften angeben möchten, geben Sie polledDataAvailableStatement als an:
SELECT COUNT(*) FROM Employee
PolledDataAvailableStatement muss ein Resultset zurückgeben, in dem die erste Zelle einen positiven Wert enthält. Wenn die erste Zelle keinen positiven Wert enthält, führt der Adapter die Abfrage-Anweisung nicht aus.
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
Nachdem die Abfrage-Anweisung ausgeführt wurde, werden alle Datensätze aus der Tabelle Employee ausgewählt, und die Nachricht von SQL Server wird an einen Empfangsspeicherort abgelegt. Sobald die MOVE_EMP_DATA gespeicherten Prozedur vom Adapter ausgeführt wird, werden alle Datensätze in die Tabelle EmployeeHistory verschoben. Anschließend wird die ADD_EMP_DETAILS gespeicherten Prozedur ausgeführt, um der Tabelle Employee einen neuen Datensatz hinzuzufügen. Bei der nächsten Abfrageausführung wird nur ein einzelner Datensatz zurückgegeben. Dieser Zyklus wird fortgesetzt, bis Sie den Empfangsport deaktivieren, der SQL Server abruft.
Konfigurieren einer Abfrageabfrage 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. Sie müssen diese Bindungseigenschaften beim Konfigurieren des Empfangsports in der BizTalk Server-Verwaltungskonsole angeben.
Hinweis
Sie können diese Bindungseigenschaften angeben, wenn Sie das Schema für den Abfragevorgang generieren, auch wenn dies nicht obligatorisch ist. Wenn Sie dies tun, 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. |
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. |
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 von 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. Um den Adapter für den Empfang von Datenänderungsmeldungen zu konfigurieren, sind die folgenden Aufgaben:
Erstellen Sie ein BizTalk-Projekt, und generieren Sie dann ein Schema für den Abfragevorgang . Optional können Sie Werte für die Bindungseigenschaften PolledDataAvailableStatement und PollingStatement angeben.
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.
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.
Generieren eines Schemas
Sie müssen das Schema für den Abfragevorgang 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. Überspringen Sie den ersten Schritt, wenn Sie die Bindungseigenschaften nicht zur Entwurfszeit angeben möchten.
Geben Sie beim Generieren des Schemas einen Wert für die Bindungseigenschaften PolledDataAvailableStatement und 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 eines Schemas für den Abfragevorgang .
Definieren von Nachrichten und Nachrichtentypen
Das zuvor generierte Schema 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 Nachrichten 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 sie mit dem Schema zu verknüpfen.
So erstellen Sie 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 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.
Öffnen Sie das Orchestrierungsansichtsfenster des BizTalk-Projekts, falls 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.
Führen Sie im Bereich Eigenschaften für Message_1 die folgenden Schritte aus:
Option Aufgabe Bezeichner Geben Sie Receive ein. Nachrichtentyp Erweitern Sie in der Dropdownliste Schemas, und wählen Sie PollingQuery.Polling aus, wobei PollingQuery der Name Ihres BizTalk-Projekts ist. Die Abfrage ist das Schema, das für den Abfragevorgang generiert wurde.
Einrichten der Orchestrierung
Sie müssen eine BizTalk-Orchestrierung erstellen, um BizTalk Server zum Empfangen von abrufbasierten Datenänderungsmeldungen aus der SQL Server-Datenbank zu verwenden. In dieser Orchestrierung empfängt der Adapter die Antwort der select-Anweisung, die für die Eigenschaft PollingStatement-Bindung angegeben ist. Die Antwort für die SELECT-Anweisung wird an einem FILE-Speicherort gespeichert. Eine typische Orchestrierung zum Abfragen einer SQL Server Datenbank enthält Folgendes:
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 Eingehende Abfrageszenarien müssen Sie immer einen unidirektionalen 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.
Eine Beispielorchestrierung ähnelt der folgenden.
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. |
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, die in der Orchestrierung angezeigt werden.
Port | Eigenschaften |
---|---|
SQLReceivePort | – Festlegen des Bezeichners auf SQLReceivePort – Festlegen von Type auf SQLReceivePortType - Festlegen des Kommunikationsmusters auf unidirektionales Muster - Festlegen der Kommunikationsrichtung auf Empfangen |
SaveMessagePort | – Legen Sie Bezeichner auf SaveMessagePort fest. – Legen Sie Type auf SaveMessagePortType fest. - Festlegen des Kommunikationsmusters auf unidirektionales Muster - Kommunikationsrichtung auf Senden festlegen |
Angeben von Nachrichten für Aktionsformen und Herstellen einer Verbindung 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 | – Festlegen der Nachricht auf Empfangen – Festlegen von Operation auf SQLReceivePort.Polling.Request |
SaveMessage | – Festlegen der Nachricht auf Empfangen – Festlegen von Operation auf SaveMessagePort.Polling.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 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 Speicherort auf der Festplatte und einen entsprechenden Dateiport, an dem die BizTalk-Orchestrierung die Nachrichten aus der SQL Server-Datenbank ablöscht. Diese Meldungen reagieren auf die Abfrage-Anweisung, die Sie für den Empfangsport angeben.
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
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 Polling festlegen. PolledDataAvailableStatement Stellen Sie sicher, dass Sie eine SQL-Anweisung angeben. Geben Sie für dieses Thema Folgendes an:
SELECT COUNT(*) FROM Employee
PollingStatement Stellen Sie sicher, dass Sie die Abfrage-Anweisung angeben. Geben Sie für dieses Thema Folgendes an:
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.
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 Nachrichten von SQL Server empfängt, 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.
Daher enthält die von SQL Server empfangene Nachricht mehrere Resultsets (für SELECT-Anweisung und für ADD_EMP_DETAILS gespeicherte Prozedur) und ähnelt folgendem:
<?xml version="1.0" encoding="utf-8" ?> <Polling xmlns="http://schemas.microsoft.com/Sql/2008/05/Polling/"> <PolledData> <DataSet xmlns="http://schemas.datacontract.org/2004/07/System.Data"> <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="Employee_ID" type="xs:int" /> <xs:element minOccurs="0" name="Name" type="xs:string" /> <xs:element minOccurs="0" name="DOJ" type="xs:dateTime" /> <xs:element minOccurs="0" name="Designation" type="xs:string" /> <xs:element minOccurs="0" name="Job_Description" type="xs:string" /> <xs:element minOccurs="0" name="Photo" type="xs:base64Binary" /> <xs:element minOccurs="0" name="Rating" type="xs:string" /> <xs:element minOccurs="0" name="Salary" type="xs:decimal" /> <xs:element minOccurs="0" name="Last_Modified" type="xs:base64Binary" /> </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> <Employee_ID>10001</Employee_ID> <Name>John</Name> <Designation>Tester</Designation> <Salary>100000.00</Salary> <Last_Modified>AAAAAAAAF34=</Last_Modified> </NewTable> ........ ........ <NewTable> <Employee_ID>10005</Employee_ID> <Name>Wilson</Name> <Designation>Tester3</Designation> <Salary>100000.00</Salary> <Last_Modified>AAAAAAAAF4E=</Last_Modified> </NewTable> </NewDataSet> </diffgr:diffgram> </DataSet> <DataSet xmlns="http://schemas.datacontract.org/2004/07/System.Data"> <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="Employee_ID" type="xs:int" /> </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> <Employee_ID>10006</Employee_ID> </NewTable> </NewDataSet> </diffgr:diffgram> </DataSet> </PolledData> </Polling>
Die vorherige Antwort enthält zwei Datasets. Das erste Dataset enthält die Antwort für die SELECT-Anweisung. Die SELECT-Anweisung wählt alle Datensätze in der Tabelle Employee aus. Das zweite Dataset ist für die ADD_EMP_DETAILS gespeicherte Prozedur. Diese gespeicherte Prozedur fügt der Tabelle Employee einen Datensatz hinzu und gibt die Mitarbeiter-ID für den neuen Datensatz zurück.
Hinweis
Die MOVE_EMP_DATA gespeicherten Prozedur gibt kein Resultset zurück. Es ist also kein entsprechendes Dataset in der Antwortnachricht vorhanden.
Wenn der Adapter pollDataAvailableStatement erneut ausführt, findet er einen Datensatz, der von der gespeicherten Prozedur ADD_EMP_DETAILS eingefügt wurde. Der Adapter führt dann alle drei Anweisungen aus, die für die Eigenschaft PollingStatement-Bindung angegeben sind. Diesmal enthält die Antwort von SQL Server nur einen Datensatz für die SELECT-Anweisung und einen Datensatz für die ADD_EMP_DETAILS gespeicherten Prozedur. Alle nachfolgenden Umfragen geben ähnliche Antworten zurück.
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