Übersicht über das WCF-Dienstmodell mit dem SQL-Adapter
Der Microsoft BizTalk-Adapter für SQL Server macht einen SQL Server Vorgang als WCF-Dienst verfügbar. Um Vorgänge für SQL Server Artefakte auszuführen, z. B. zum Aufrufen einer gespeicherten Prozedur, rufen Sie einen Vorgang auf dem Adapter auf, der wiederum den Vorgang für die SQL Server ausführt. Ihr Code fungiert daher als Client für den WCF-Dienst, der vom Adapter bereitgestellt wird.
Im Windows Communication Foundation-Dienstmodell (WCF) wird der Dienstvertrag, der zwischen einem Client und einem Dienst besteht, als .NET-Schnittstelle dargestellt, und Vorgänge werden auf dieser Schnittstelle als Methoden dargestellt. Der SQL-Adapter und WCF stellen Tools bereit, mit denen Sie diese Schnittstelle für zielorientierte Vorgänge aus den Metadaten generieren können, die der Adapter verfügbar macht. Diese Tools erstellen auch eine WCF-Clientklasse, die zum Aufrufen der Vorgänge verwendet werden kann, die in der Dienstschnittstelle verfügbar gemacht werden. Eine Clientanwendung kann die Methoden der WCF-Clientklasse aufrufen, um Vorgänge auf dem Adapter aufzurufen. Um einen Dienst zum Empfangen eingehender Vorgänge vom SQL-Adapter zu implementieren, implementieren Sie die für die eingehenden Vorgänge generierte Schnittstelle.
Im folgenden Abschnitt wird erläutert, wie Sie das WCF-Dienstmodell verwenden, um Vorgänge mit einem WCF-Client aufzurufen.
Aufrufen von Vorgängen auf der SQL Server mit einem WCF-Client
Um das WCF-Dienstmodell zum Aufrufen von Vorgängen auf dem SQL-Adapter zu verwenden, müssen Sie zunächst eine WCF-Clientklasse für die Zielvorgänge generieren. Anschließend können Sie eine instance dieser Klasse erstellen, einen WCF-Client, und deren Methoden aufrufen, um diese Vorgänge auf dem SQL Server-System auszuführen. In diesem Abschnitt wird beschrieben, wie eine typische .NET-Adapterclientanwendung aussieht. Ausführliche Erläuterungen zum Ausführen verschiedener Vorgänge für die SQL Server-Datenbank mithilfe des Adapters finden Sie in bestimmten Themen.
So rufen Sie Vorgänge für den SQL-Adapter auf
Generieren Sie eine WCF-Clientklasse und Hilfscode. Verwenden Sie das Visual Studio-Plug-In Adapterdienstverweis hinzufügen, um eine WCF-Clientklasse für die SQL Server Datenbankartefakte zu generieren, mit denen Sie arbeiten möchten. Weitere Informationen zum Generieren eines WCF-Clients finden Sie unter Generieren eines WCF-Clients oder WCF-Dienstvertrags für SQL Server Artefakte.
Erstellen Sie einen WCF-Client instance, und konfigurieren Sie den WCF-Client. Das Konfigurieren des WCF-Clients umfasst die Angabe der Bindungs- und Endpunktadresse (Verbindungs-URI), die der Client verwendet. Sie können dies entweder zwingend im Code oder deklarativ in der Konfiguration tun. Der folgende Code erstellt einen WCF-Client, der auf den Select-Vorgang für die Tabelle Employee in einer SQL Server-Datenbank abzielt. Außerdem werden die Anmeldeinformationen für die SQL Server-Datenbank festgelegt. Der WCF-Client wird über die Konfiguration initialisiert.
TableOp_dbo_EmployeeClient client = new TableOp_dbo_EmployeeClient("SqlAdapterBinding_TableOp_dbo_Employee"); //picking the binding and address from the app.config client.ClientCredentials.UserName.UserName = "myuser"; client.ClientCredentials.UserName.Password = "mypassword";
Hinweis
Sie können entweder die Clientbindung und die Endpunktadresse im Code angeben oder in der app.config-Konfigurationsdatei deklarieren. Der vorangehende Codeausschnitt verwendet letzteres. Weitere Informationen zur Verwendung beider Ansätze finden Sie unter Konfigurieren einer Clientbindung für den SQL-Adapter.
Öffnen Sie den WCF-Client.
client.Open();
Rufen Sie Methoden auf dem WCF-Client auf, der im vorherigen Schritt erstellt wurde, um einen Select-Vorgang für die SQL Server-Datenbank auszuführen. Der folgende Code ruft die Select-Methode des WCF-Clients auf, um die SELECT-Anweisung für eine SQL Server Datenbanktabelle aufzurufen.
client.Select("*", "where [Name] = ‘John Smith’");
Schließen Sie den WCF-Client.
client.Close();
Weitere Informationen
Entwickeln von SQL-Anwendungen mithilfe des WCF-Dienstmodells