Ausführen von Vorgängen für Tabellen mit BFILE-Datentypen in Oracle Database mithilfe von BizTalk Server
Der Oracle Database-Adapter unterstützt den BFILE-Datentyp in Tabellen und gespeicherten Prozeduren. Dieser Abschnitt enthält Informationen zum Ausführen von Vorgängen für Tabellen mit einer Spalte des BFILE-Datentyps. Weitere Informationen dazu, wie der Oracle Database-Adapter BFILE unterstützt, finden Sie unter Vorgänge für Tabellen mit BFILE-Datentypen in Oracle Database.
Einrichten Ihres Oracle Database Server for Operations in BFILE
In diesem Abschnitt wird veranschaulicht, wie Eine Prozedur aufgerufen wird, die einen Datensatz in das SCOTT einfügt. CUSTOMERDOC-Tabelle. Diese Tabelle enthält eine Spalte des BFILE-Datentyps und wird durch Ausführen der SQL-Skripts erstellt, die mit den BizTalk Adapter Pack-Beispielen geliefert werden. Weitere Informationen zu den Beispielen und den SQL-Skripts finden Sie unter Beispiele für den Oracle Database-Adapter.
Nachdem Sie das Skript zum Erstellen der CUSTOMERDOC-Tabelle ausgeführt haben, müssen Sie bestimmte Aktionen auf dem Computer ausführen, auf dem die Oracle-Datenbank ausgeführt wird, um Vorgänge für BFILE-Datentypen zu aktivieren. Sie müssen folgende Aufgaben für die Oracle-Datenbank ausführen:
Erstellen Sie ein Verzeichnis C:\MYDIR auf dem Computer, auf dem die Oracle-Datenbank ausgeführt wird.
Erstellen Sie ein logisches Verzeichnis in der Oracle-Datenbank. Dies erfordert in der Regel einen Benutzer mit SYSDBA-Berechtigungen. Beispiel:
CREATE OR REPLACE DIRECTORY MYDIR AS 'C:\MYDIR';
Fügen Sie dem Benutzer Berechtigungen für den Zugriff auf das logische Verzeichnis in Oracle hinzu. Beispiel:
GRANT READ, WRITE ON DIRECTORY MYDIR to SCOTT;
Kopieren Sie die Dateien, auf die zugegriffen werden soll, in den physischen Verzeichnisspeicherort auf dem Computer, auf dem die Oracle-Datenbank ausgeführt wird, der dem logischen Verzeichnis in Oracle zugeordnet ist. Sie haben dieses Verzeichnis in Schritt 1 erstellt.
Kopieren Sie basierend auf dem obigen Beispiel eine Datei, customer_profile.txt in das Verzeichnis C:\MYDIR. Diese Datei ist jetzt für BFILE-Vorgänge verfügbar. Weitere Informationen zum Ausführen von Vorgängen finden Sie unter Ausführen von Vorgängen für Tabellen mit Umfangreichen Objekttypendaten mithilfe von BizTalk Server in Oracle Database.
Wichtig
Der ReadLOB-Vorgang wird für Tabellen mit dem BFILE-Datentyp unterstützt. Der UpdateLOB-Vorgang wird NICHT unterstützt. Benutzer können jedoch alternativ den UPDATE-Vorgang verwenden.
Ausführen von Vorgängen mit BFILE-Datentypen
Das Ausführen eines Vorgangs für eine Oracle-Datenbank mithilfe des Oracle Database-Adapters mit BizTalk Server umfasst prozedurale Aufgaben, die unter Bausteine zum Entwickeln von BizTalk-Anwendungen mit Oracle-Datenbank beschrieben werden. So rufen Sie eine Prozedur auf, die einen Datensatz in das SCOTT einfügt. CUSTOMERDOC-Tabelle, diese Aufgaben sind:
Erstellen Sie ein BizTalk-Projekt, und generieren Sie ein Schema für die gespeicherte CREATE_CUSTOMERDOC Prozedur.
Erstellen Sie Nachrichten im BizTalk-Projekt zum Senden und Empfangen von Nachrichten aus der Oracle-Datenbank.
Erstellen Sie eine Orchestrierung, um den Vorgang für die Oracle-Datenbanktabelle oder -sicht aufzurufen.
Erstellen sie das BizTalk-Projekt, und stellen Sie es bereit.
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, Operate_BFILE, das auf diesem Thema basiert, wird auch mit dem BizTalk-Adapterpaket bereitgestellt. Weitere Informationen finden Sie unter Beispiele für den Oracle Database-Adapter.
Generieren eines Schemas
In diesem Thema wird die CREATE_CUSTOMERDOC-Prozedur aufgerufen, um zu veranschaulichen, wie Vorgänge für eine Tabelle mit BFILE-Spalten ausgeführt werden. Diese Prozedur wird unter dem Schema SCOTT\Package\ACCOUNT_PKG erstellt, indem die in den Beispielen bereitgestellten SQL-Skripts ausgeführt werden. Diese Prozedur verwendet den BFILE-Datensatztyp und fügt einen Datensatz in der CUSTOMERDOC-Tabelle hinzu. Weitere Informationen zu den SQL-Skripts finden Sie unter Schemabeispiele.
Weitere Informationen zum Generieren eines Schemas finden Sie unter Abrufen von Metadaten für Oracle-Vorgänge in Visual Studio .
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. Sie müssen das Schema, das Sie im ersten Schritt generiert haben, mit den Meldungen aus dem Fenster Orchestrierungsansicht des BizTalk-Projekts verknüpfen.
Für dieses Thema müssen Sie zwei Nachrichten erstellen– eine, um eine Anforderung an die Oracle-Datenbank zu senden, und die andere, um eine Antwort zu erhalten.
Führen Sie die folgenden Schritte aus, um Nachrichten zu erstellen und mit dem Schema zu verknüpfen.
So erstellen Sie Nachrichten und Verknüpfen mit dem Schema
Öffnen Sie das Fenster Orchestrierungsansicht des BizTalk-Projekts, wenn dieses nicht bereits geöffnet ist. Klicken Sie hierzu 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 Request ein. Nachrichtentyp Erweitern Sie in der Dropdownliste Schemas, und wählen Sie dann BFILE_Operations.OracleDBBindingSchema.CREATE_CUSTOMERDOC aus, wobei BFILE_Operations der Name Ihres BizTalk-Projekts ist. OracleDBBindingSchema ist das Schema, das für die CREATE_CUSTOMERDOC-Prozedur generiert wird. Wiederholen Sie Schritt 2, um eine neue Nachricht zu erstellen. Gehen Sie im Bereich Eigenschaften für die neue Nachricht wie folgt vor:
Option Aufgabe Bezeichner Geben Sie Antwort ein. Nachrichtentyp Erweitern Sie in der Dropdownliste Schemas, und wählen Sie dann BFILE_Operations.OracleDBBindingSchema.CREATE_CUSTOMERDOCResponse aus.
Einrichten der Orchestrierung
Sie müssen eine BizTalk-Orchestrierung erstellen, um BizTalk Server zum Ausführen einer Prozedur zu verwenden. Bei dieser Orchestrierung legen Sie eine Anforderungsnachricht an einem definierten Empfangsspeicherort ab. Der Oracle Database-Adapter nutzt diese Nachricht und übergibt sie über ODP an die Oracle-Datenbank. Die Antwort aus der Oracle-Datenbank wird an einem anderen Speicherort gespeichert. Eine typische Orchestrierung zum Ausführen von Vorgängen für BFILE-Spalten in einer Oracle-Datenbanktabelle enthält Folgendes:
Senden und Empfangen von Shapes zum Senden von Nachrichten an die Oracle-Datenbank und zum Empfangen von Antworten.
Ein unidirektionale Empfangsport zum Empfangen von Anforderungsnachrichten, die an die Oracle-Datenbank gesendet werden sollen.
Ein bidirektionalen Sendeport zum Senden von Anforderungsnachrichten an die Oracle-Datenbank und zum Empfangen von Antworten.
Ein unidirektionale Sendeport zum Senden der Antworten aus der Oracle-Datenbank an einen Ordner.
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. |
SendMessage | Send | – Name aufSendMessage festlegen |
ReceiveResponse | Empfangen | – Name aufReceiveResponse festlegen – Legen Sie Activate auf False fest. |
SendResponse | Send | – Legen Sie Name auf SendResponse fest. |
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 |
---|---|
FileIn | – Bezeichner auf FileIn festlegen – Legen Sie Type auf FileInType fest. – Festlegen des Kommunikationsmusters auf Unidirektionale – Festlegen der Kommunikationsrichtung auf "Empfangen" |
LOBPort | – Bezeichner auf LOBPort festlegen – Legen Sie Type auf LOBPortType fest. – Festlegen des Kommunikationsmusters auf Request-Response – Festlegen der Kommunikationsrichtung auf Senden/Empfangen |
SaveResponse | – Bezeichner auf SaveResponse festlegen – Legen Sie Type auf SaveResponseType fest. – Festlegen des Kommunikationsmusters auf Unidirektionale – Kommunikationsrichtung auf Senden festlegen |
Geben Sie Nachrichten für Aktions-Shapes an, und verbinden Sie sie 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 | – Nachricht aufAnforderung festlegen – Legen Sie Operation auf FileIn.Create_BFILE fest. Anfrage |
SendMessage | – Nachricht aufAnforderung festlegen – Legen Sie Vorgang auf LOBPort.Create_BFILE fest. Anfrage |
ReceiveResponse | – Nachricht aufAntwort festlegen – Legen Sie Vorgang auf LOBPort.Create_BFILE fest. Antwort |
SendResponse | – Nachricht aufAntwort festlegen – Legen Sie Vorgang auf SaveResponse.Create_BFILE fest. Anfrage |
Nachdem Sie diese Eigenschaften angegeben haben, werden die Nachrichtenformen und Ports verbunden, und Die Orchestrierung ist abgeschlossen.
Sie müssen nun die BizTalk-Lösung erstellen und in einem 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 in der BizTalk Server Verwaltungskonsole im Bereich Orchestrierungen 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:
Definieren Sie einen Speicherort auf der Festplatte und einen entsprechenden Dateiport, an dem Sie eine Anforderungsnachricht ablegen. Die BizTalk-Orchestrierung nutzt die Anforderungsnachricht und sendet sie an die Oracle-Datenbank.
Definieren Sie einen Speicherort auf der Festplatte und einen entsprechenden Dateiport, an dem die BizTalk-Orchestrierung die Antwortnachricht mit der Antwort aus der Oracle-Datenbank abgibt.
Definieren Sie einen physischen WCF-Custom oder WCF-OracleDB Sendeport, um Nachrichten an die Oracle-Datenbank zu senden. Sie müssen die Aktion auch im Sendeport angeben. Informationen zum Erstellen WCF-Custom oder WCF-OracleDB Ports finden Sie unter Manuelles Konfigurieren der physischen Portbindung an den Oracle Database Adapter.
Hinweis
Beim Generieren des Schemas mithilfe des BizTalk-Projekt-Add-Ins "Consume Adapter Service" 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 für Oracle Database.
Starten der Anwendung
Sie müssen die BizTalk-Anwendung starten, um die Prozedur zu aufrufen, die einen Datensatz in der CUSTOMERDOC-Tabelle erstellt. Anweisungen zum Starten einer BizTalk-Anwendung finden Sie unter Starten einer Orchestrierung.
Stellen Sie in dieser Phase Folgendes sicher:
Der FILE-Empfangsport zum Empfangen von Anforderungsmeldungen für die Orchestrierung wird ausgeführt.
Der FILE-Sendeport zum Empfangen der Antwortnachrichten von der Orchestrierung wird ausgeführt.
Der WCF-Custom oder WCF-OracleDB Sendeport zum Senden von Nachrichten an die Oracle-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 Anforderungsnachricht am File-Empfangsspeicherort ablegen. Das Schema für die Anforderungsnachricht muss dem Schema für die zuvor generierte Prozedur entsprechen. Weitere Informationen zum Anforderungsnachrichtenschema zum Aufrufen der Prozedur mithilfe des Oracle Database-Adapters finden Sie unter Nachrichtenschemas für Funktionen und Prozeduren .
Die Anforderungsmeldung zum Aufrufen der CREATE_CUSTOMERDOC-Prozedur lautet beispielsweise:
<CREATE_CUSTOMERDOC xmlns="http://Microsoft.LobServices.OracleDB/2007/03/SCOTT/Package/ACCOUNT_PKG">
<CNAME>John Smith</CNAME>
<CDOC>MYDIR/John_Smith_profile.txt</CDOC>
</CREATE_CUSTOMERDOC>
Hinweis
Die Textdatei, John_Smith_profile.txt muss sich am physischen Verzeichnisspeicherort befinden, der dem logischen Verzeichnis in Oracle zugeordnet ist. In diesem Beispiel muss die Textdatei in C:\MYDIR vorhanden sein.
Die Orchestrierung nutzt die Nachricht und sendet sie an die Oracle-Datenbank. Die Antwort aus der Oracle-Datenbank wird am anderen FILE-Speicherort gespeichert, der als Teil der Orchestrierung definiert ist. Die Antwort der Oracle-Datenbank für die obige Anforderungsnachricht lautet beispielsweise:
<?xml version="1.0" encoding="utf-8"?>
<CREATE_CUSTOMERDOCResponse xmlns="http://Microsoft.LobServices.OracleDB/2007/03/SCOTT/Package/ACCOUNT_PKG"></CREATE_CUSTOMERDOCResponse>
Hinweis
Sie können eine ähnliche Orchestrierung erstellen, um Daten aus Tabellen zu lesen, die Felder vom Typ BFILE aufweisen. Das im BizTalk-Adapterpaket enthaltene SQL-Skript erstellt eine ACCOUNT_PKG, die eine GET_CUSTOMERDOC Prozedur enthält. Sie können dieses Verfahren verwenden, um BFILE-Daten aus dem SCOTT abzurufen. CUSTOMERDOC-Tabelle.
Ein Beispiel, Operate_BFILE, ist auch in den Beispielen für das BizTalk-Adapterpaket enthalten. In diesem Beispiel wird veranschaulicht, wie Datensätze in scott eingefügt werden. CUSTOMERDOC-Tabelle mit der gespeicherten Prozedur CREATE_CUSTOMERDOC (wie in diesem Thema beschrieben) Das Beispiel veranschaulicht auch, wie BFILE-Daten aus dem SCOTT gelesen werden. CUSTOMERDOC-Tabelle mit GET_CUSTOMERDOC gespeicherten Prozedur.
Mögliche Ausnahmen
Informationen zu den Ausnahmen, die beim Ausführen eines DML-Vorgangs mit BizTalk Server auftreten können, finden Sie unter Ausnahmen und Fehlerbehandlung.
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 die Sendeports, Empfangsports usw. für dieselbe Orchestrierung nicht erstellen müssen. Weitere Informationen zu Bindungsdateien finden Sie unter Wiederverwenden von Oracle Database Adapter-Bindungen.
Weitere Informationen
Bausteine zum Entwickeln von BizTalk-Anwendungen mit Oracle Database