Freigeben über


Entwickeln von Oracle Database-Anwendungen mithilfe des WCF-Kanalmodells

Sie können das Windows Communication Foundation-Kanalmodell (WCF) verwenden, um den Microsoft BizTalk-Adapter für Oracle-Datenbank zu nutzen, indem Sie XML-Nachrichten direkt über einen Kanal senden, instance mit der Oracle DB-Bindung erstellt wurde.

Ein Vorteil der Verwendung des WCF-Kanalmodells gegenüber der Verwendung der stark typisierten Klassen und Methoden, die das WCF-Dienstmodell verfügbar macht, besteht darin, dass das Kanalmodell eine präzisere Kontrolle über die Vorgänge bietet, die Sie in der Oracle-Datenbank ausführen. Warum? Im WCF-Kanalmodell steuern Sie direkt den Inhalt der Nachrichten, die Sie über den Kanal senden.

In bestimmten Szenarien kann diese zusätzliche Steuerungsebene von Vorteil sein. Wenn Sie beispielsweise das WCF-Kanalmodell verwenden, um einen Updatevorgang für eine Tabelle auszuführen, können Sie Spalten in den Zielzeilen selektiv aktualisieren, indem Sie Spalten aus der Updatevorlage weglassen, die Sie in der Nachricht übergeben. Die update-Methode, die von einem WCF-Client verfügbar gemacht wird, verwendet einen stark typisierten Datensatzparameter für die Vorlage, die jede Spalte im Tabellenschema enthält. Wenn eine Spalte "nillable=false" in der WSDL aufweist, muss sie mithilfe des WCF-Dienstmodells aktualisiert werden.

Ein weiterer wichtiger Vorteil des WCF-Kanalmodells gegenüber dem WCF-Dienstmodell ist eine umfassendere Unterstützung für das End-to-End-Streaming von Oracle-Datentypen für große Objekte (Lob). Mithilfe des WCF-Kanalmodells können Sie End-to-End-Streaming ausführen:

  • So aktualisieren Sie eine LOB-Spalte in einer Tabelle oder Sicht mithilfe des Vorgangs UpdateLOB.

  • Für OUT- und IN OUT-Parameter, die LOB-Daten enthalten, die von Prozeduren und Funktionen zurückgegeben werden.

  • Für branchenspezifische Daten, die im Ergebnis eines SQLEXECUTE-Vorgangs enthalten sind.

  • In LOB-Datenspalten, die im POLLINGSTMT-Vorgang zurückgegeben werden.

  • In branchenspezifischen Datenspalten, die von einem Select-Vorgang für eine Tabelle oder Sicht zurückgegeben werden.

    Dies liegt daran, dass Sie im WCF-Kanalmodell direkt steuern, wie Sie den Nachrichtentext für ausgehende Nachrichten bereitstellen und wie Sie den Nachrichtentext in eingehenden Nachrichten verarbeiten.

    Im Gegensatz dazu bietet das WCF-Dienstmodell nur Folgendes:

  • End-to-End-Streaming für LOB-Daten in einem Vorgang, dem ReadLOB-Vorgang.

  • Keine Möglichkeit, branchenspezifische Daten in der Oracle-Datenbank gestreamt zu aktualisieren.

    In den Abschnitten in diesem Thema wird erläutert, wie Vorgänge für den Oracle Database-Adapter mithilfe des WCF-Kanalmodells ausgeführt werden.

In diesem Abschnitt