Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Der Microsoft BizTalk-Adapter für SQL Server zeigt die Prozeduren in der SQL Server-Datenbank als Vorgänge an. Adapterclients können die Prozeduren mithilfe des SQL-Adapters mit BizTalk Server aufrufen. Weitere Informationen dazu, wie der Adapter diese Vorgänge unterstützt, finden Sie unter Ausführen gespeicherter Prozeduren in SQL Server mithilfe des SQL-Adapters. Informationen zur Struktur der SOAP-Nachricht für diese Vorgänge finden Sie unter Message Schemas for Procedures and Functions.
Der SQL-Adapter ermöglicht es Adapter-Clients auch, auszuführen:
Skalare Funktionen in der SQL Server-Datenbank. Siehe Aufrufen skalarer Funktionen in SQL Server mit BizTalk Server.
Tabellenwertfunktionen in der SQL Server-Datenbank. Siehe Aufrufen von Table-Valued Funktionen in SQL Server über BizTalk Server.
Hinweis
Wenn Sie Vorgänge für Tabellen mit Spalten mit benutzerdefinierten Typen ausführen, stellen Sie sicher, dass Sie auf Vorgänge in Tabellen und Ansichten mit User-Defined Typen unter Verwendung des SQL-Adapters verweisen, bevor Sie mit der Entwicklung der Anwendung beginnen.
So wird's gemacht: Aufrufen von Prozeduren in sql Server-Datenbank
Das Ausführen eines Vorgangs in der SQL Server-Datenbank mithilfe des SQL-Adapters mit BizTalk Server umfasst prozedurale Aufgaben, die in Bausteinen zum Entwickeln von BizTalk-Anwendungen mit dem SQL-Adapter beschrieben werden. Zum Aufrufen einer Prozedur in der SQL Server-Datenbank sind die folgenden Aufgaben erforderlich:
Erstellen Sie ein BizTalk-Projekt, und generieren Sie ein Schema für die Prozedur, die Sie in der SQL Server-Datenbank aufrufen möchten.
Erstellen Sie Nachrichten im BizTalk-Projekt zum Senden und Empfangen von Nachrichten an und aus der SQL Server-Datenbank.
Erstellen Sie eine Orchestrierung, um die Prozedur in der SQL Server-Datenbank aufzurufen.
Erstellen und Bereitstellen des BizTalk-Projekts.
Konfigurieren Sie die BizTalk-Anwendung, indem Sie physische Sende- und Empfangsports erstellen.
Starten Sie die BizTalk-Anwendung.
Dieses Thema enthält Anweisungen zum Ausführen dieser Aufgaben.
Beispiel basierend auf diesem Thema
Ein Beispiel, ExecuteStoredProcedure, basierend auf diesem Thema, wird mit dem BizTalk Adapter Pack bereitgestellt. Weitere Informationen finden Sie unter Beispiele für den SQL-Adapter.
Generieren des Schemas
In diesem Thema wird veranschaulicht, wie Sie eine Prozedur aufrufen, indem Sie die ADD_EMP_DETAILS-Prozedur aufrufen. Dieses Verfahren wird erstellt, indem die skripts ausgeführt werden, die mit den Beispielen bereitgestellt werden. Die ADD_EMP_DETAILS Prozedur akzeptiert bestimmte Parameter, fügt einen Datensatz in die Tabelle EMPLOYEE ein und gibt eine Mitarbeiter-ID für den eingefügten Datensatz zurück. Informationen zu den Beispielen und den SQL-Skripts finden Sie unter Schemabeispiele.
Um die ADD_EMP_DETAILS-Prozedur aufzurufen, ist es erforderlich, ein Schema für dieselbe Prozedur 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 .
Definieren von Nachrichten und Nachrichtentypen
Das schema, das Sie zuvor generiert haben, beschreibt die für die Nachrichten in der Orchestrierung erforderlichen "Typen". Eine Nachricht ist in der Regel eine Variable, deren Typ durch das entsprechende Schema definiert wird. Sie müssen jetzt Nachrichten für die Orchestrierung erstellen und mit Schemas verknüpfen, die Sie im vorherigen Schritt generiert haben.
So erstellen Sie Nachrichten und Verknüpfungen zum 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 dazu 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 Eigenschaftenbereich für die Message_1 wie folgt vor:
Verwenden Sie diese Aktion Kennung Geben Sie Request
einNachrichtentyp Erweitern Sie in der Dropdownliste Schemas, und wählen Sie dann ExecProcedure.Procedure_dbo.ADD_EMP_DETAILS aus, wobei ExecProcedure der Name Ihres BizTalk-Projekts ist. Das Schema zum Aufrufen der Prozedur ADD_EMP_DETAILS wird als Procedure_dbo generiert. Wiederholen Sie Schritt 2, um eine neue Nachricht zu erstellen. Gehen Sie im Eigenschaftenbereich für die neue Nachricht wie folgt vor:
Verwenden Sie diese Aktion Kennung Geben Sie Response
einNachrichtentyp Erweitern Sie in der Dropdownliste Schemas, und wählen Sie dann ExecProcedure.Procedure_dbo.ADD_EMP_DETAILSResponse aus.
Einrichten der Orchestrierung
Sie müssen eine BizTalk-Orchestrierung erstellen, um BizTalk Server zum Ausführen eines Vorgangs auf SQL Server zu verwenden. In dieser Orchestrierung legen Sie eine Anforderungsnachricht an einem definierten Empfangsort ab. Der SQL-Adapter verwendet diese Meldung und übergibt sie an SQL Server. Die Antwort von SQL Server wird an einem anderen Speicherort gespeichert. Sie müssen "Senden" und "Empfangen"-Shapes einschließen, um Nachrichten an SQL Server zu senden und Antworten zu empfangen. Eine Beispiel-Orchestrierung für das Aufrufen eines Verfahrens sieht wie folgt aus:
Hinzufügen von Nachrichtenformen
Stellen Sie sicher, dass Sie die folgenden Eigenschaften für die einzelnen Nachrichten-Shapes angeben. Die in der Spalte "Shape" aufgeführten Namen sind die der Nachrichten-Shapes, die in der gerade erwähnten Orchestrierung angezeigt werden.
Gestalt | Shape-Typ | Eigenschaften |
---|---|---|
NachrichtEmpfangen | Empfangen | - Name aufReceiveMessage festlegen - Setze Aktivieren auf True |
NachrichtSenden | Senden | - Name auf SendMessage setzen |
AntwortEmpfangen | Empfangen | - Name auf den Wert ReceiveResponse setzen - Setze Aktivieren auf Falsch |
SendResponse | Senden | - Name auf SendResponse setzen |
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.
Hafen | Eigenschaften |
---|---|
MessageIn | - Bezeichner auf MessageIn setzen - 'Type' auf MessageInType festlegen - Kommunikationsmuster auf Einweg festlegen - Setze Kommunikationsrichtung auf Empfangen |
LOBPort | - Bezeichner auf LOBPort setzen - 'Type' auf 'LOBPortType' festlegen - Kommunikationsmuster auf Anfrage-Antwort festlegen - Kommunikationsrichtung auf "Senden-Empfangen" festlegen |
ResponseOut | - Bezeichner wird auf ResponseOut festgelegt - Setzen Sie den Typ auf ResponseOutType - Kommunikationsmuster auf Einweg festlegen - Kommunikationsrichtung auf "Senden" festlegen |
Nachrichten für Aktions-Shapes spezifizieren und mit Ports verbinden
In der folgenden Tabelle werden die Eigenschaften und deren Werte angegeben, die Sie festlegen sollten, um Nachrichten für Aktions-Shapes anzugeben und die Nachrichten mit den Ports zu verknüpfen. Die in der Spalte "Shape" aufgeführten Namen sind die Namen der Nachrichten-Shapes, wie in der zuvor erwähnten Orchestrierung angezeigt.
Gestalt | Eigenschaften |
---|---|
NachrichtEmpfangen | - Nachricht auf Anforderung festlegen - Operation auf MessageIn.Procedure.Request festlegen |
NachrichtSenden | - Nachricht auf Anforderung festlegen - Vorgang auf LOBPort.Procedure.Request festlegen |
AntwortEmpfangen | - Nachricht auf Antwort festlegen - Operation auf LOBPort.Procedure.Response festlegen |
SendResponse | - Nachricht auf Antwort festlegen - Operation auf ResponseOut.Procedure.Request festlegen |
Nachdem Sie diese Eigenschaften angegeben haben, sind die Nachrichtenformen und Ports verbunden, und die Orchestrierung ist abgeschlossen.
Sie müssen nun die BizTalk-Lösung erstellen und auf einem BizTalk Server bereitstellen. Weitere Informationen finden Sie unter Building and Running Orchestrations.
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 Walkthrough: Deploying a Basic BizTalk Application.
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 verwendet 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 absendet.
Definieren Sie einen physischen WCF-Custom- oder WCF-SQL-Sendport zum Senden von Nachrichten an die SQL Server-Datenbank. Sie müssen auch die Aktion im Sende-Port angeben. Informationen zum Erstellen von Ports finden Sie unter Manuelles Konfigurieren einer physischen Portbindung an den SQL-Adapter.
Hinweis
Durch das Generieren des Schemas mithilfe des Add-Ins "Verbrauchsadapterdienst BizTalk Project" 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 zur Verwendung des SQL-Adapters.
Starten der Anwendung
Sie müssen die BizTalk-Anwendung zum Aufrufen von Prozeduren in der SQL Server-Datenbank starten. Anweisungen zum Starten einer BizTalk-Anwendung finden Sie unter "So starten Sie eine Orchestrierung".
Stellen Sie in dieser Phase folgendes sicher:
Der FILE-Empfangsanschluss zum Erhalten von Anforderungsmeldungen für die Orchestrierung ist in Betrieb.
Der FILE-Sendeport zum Empfangen der Antwortnachrichten von der Orchestrierung wird ausgeführt.
Der WCF-Custom oder WCF-SQL Port zum Senden von Nachrichten an die SQL Server-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 Anforderungsmeldung am Eingangs-Ort für DATEI ablegen. Das Schema für die Anforderungsnachricht muss dem Schema für die zuvor generierte Prozedur entsprechen. Die Anforderungsnachricht zum Aufrufen der GET_EMP_DETAILS lautet beispielsweise:
<ADD_EMP_DETAILS xmlns="mssql://Microsoft.LobServices.Sql/2008/01/Procedures/dbo">
<emp_name>John</emp_name>
<emp_desig>Developer</emp_desig>
<salary>100000</salary>
</ADD_EMP_DETAILS>
Weitere Informationen zum Anforderungsschemas zum Aufrufen von Prozeduren in der SQL Server-Datenbank finden Sie unter Message Schemas for Procedures and Functions.
Die Orchestrierung verwendet die Nachricht und sendet sie an die SQL Server-Datenbank. Die Antwort aus der SQL Server-Datenbank wird am anderen DATEIspeicherort gespeichert, der als Teil der Orchestrierung definiert ist. Die Antwort aus der SQL Server-Datenbank für die vorherige Anforderungsnachricht lautet beispielsweise:
<?xml version="1.0" encoding="utf-8" ?>
<ADD_EMP_DETAILSResponse xmlns="mssql://Microsoft.LobServices.Sql/2008/01/Procedures/dbo">
<ADD_EMP_DETAILSResult>
<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>10001</Employee_ID>
</NewTable>
</NewDataSet>
</diffgr:diffgram>
</DataSet>
</ADD_EMP_DETAILSResult>
<ReturnValue>0</ReturnValue>
</ADD_EMP_DETAILSResponse>
In der obigen Antwort enthält das <Employee_ID>
Element die Mitarbeiter-ID für den eingefügten Datensatz.
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 Sendeports und Empfangsports für dieselbe Orchestrierung erstellen müssen. Weitere Informationen zu Bindungsdateien finden Sie unter Wiederverwenden von Adapterbindungen.
Siehe auch
Entwickeln von BizTalk-Anwendungen mithilfe des SQL-Adapters