Wichtige Features in BizTalk-Adapter für Oracle-Datenbank
In diesem Abschnitt werden die neuen und veralteten Features in Microsoft BizTalk Adapter for Oracle Database aufgeführt.
Technologiebezogene Features
Funktion | Kommentar |
---|---|
Neue Verbindung mit der Oracle-Datenbank | Neben der Verbindung mit der Oracle-Datenbank mithilfe des Net-Dienstnamens in der Datei tnsnames.ora (wie in der vorherigen Version des Adapters) können die Adapterclients jetzt auch eine direkte Verbindung mit der Oracle-Datenbank herstellen, indem sie die Verbindungsparameter angeben, sodass die Verwendung eines Net-Dienstnamens oder der Datei tnsnames.ora entfällt. Wenn Sie die Datei tnsnames.ora nicht zum Herstellen einer Verbindung mit der Oracle-Datenbank benötigen, können Sie die Verbindungsparameter (Net Service Name) in der Datei tnsnames.ora auf jedem Clientcomputer manuell aktualisieren, wenn Sie Oracle-Server in Ihrer Umgebung hinzufügen oder aktualisieren. Weitere Informationen finden Sie unter Erstellen einer Verbindung mit der Oracle-Datenbank. |
Unterstützung für die Windows-Authentifizierung | Die Adapterclients können die Windows-Authentifizierung verwenden, um eine Verbindung mit der Oracle-Datenbank herzustellen. Mit der Windows-Authentifizierung können Sie die Identität des Benutzers anhand der Windows-Anmeldeinformationen ermitteln und so die integrierte Sicherheit der Windows-Umgebung nutzen. Weitere Informationen zur Windows-Authentifizierung im Oracle Database-Adapter finden Sie unter Herstellen einer Verbindung mit der Oracle-Datenbank mithilfe der Windows-Authentifizierung. |
Betriebsbezogene Features
Funktion | Kommentar |
---|---|
Unterstützung für die Angabe von Inlinewerten im Einfügevorgang | Sie können das InlineValue-Attribut im Insert-Vorgang verwenden, um berechnete Werte in Tabellen oder Ansichten in der Oracle-Datenbank einzufügen. Dies ist ein optionales Attribut und für alle einfachen Datensätze in einem Einfügevorgang mit mehreren Datensätzen verfügbar. Wenn Sie einen Wert für dieses Attribut angeben, wird der angegebene Wert eines Datensatzes außer Kraft gesetzt. Weitere Informationen zum InlineValue-Attribut finden Sie unter Einfügen, Aktualisieren, Löschen und Auswählen von Vorgängen in Oracle-Tabellen und -Ansichten. |
Erweiterte Abfrage | Der Oracle Database-Adapter unterstützt jetzt den Empfang von "abrufbasierten" datenveränderten Nachrichten mithilfe gespeicherter Prozeduren, Funktionen oder verpackter Prozeduren oder Funktionen, um die Oracle-Datenbank regelmäßig abzufragen. Zusätzlich zur SELECT-Anweisung können Sie jetzt eine gespeicherte Prozedur, Funktion oder gepackte Prozedur oder Funktion als Abfrage-Anweisung angeben, die der Adapter regelmäßig ausführt, um die Oracle-Datenbank abzufragen. Weitere Informationen zum Abrufen von Abfragen finden Sie unter Unterstützung für den Empfang von abrufbasierten datenveränderten Nachrichten. |
Unterstützung für Oracle User-Defined Types (UDTs) | Der Oracle Database-Adapter unterstützt die Ausführung von Vorgängen für Artefakte in der Oracle-Datenbank, die Oracle UDTs enthalten. Informationen zur UDT-Unterstützung finden Sie unter Support for Oracle User-Defined Types in Oracle Database. |
Unterstützung für zusammengesetzte Vorgänge | Mit dem Oracle Database-Adapter können Adapterclients zusammengesetzte Vorgänge für die Oracle-Datenbank ausführen. Ein zusammengesetzter Vorgang kann eine beliebige Anzahl der folgenden Vorgänge und in beliebiger Reihenfolge enthalten: - Vorgänge für Tabellen und Ansichten. – Gespeicherte Prozeduren, Funktionen und Prozeduren oder Funktionen in Paketen, die als Vorgänge im Adapter angezeigt werden. Weitere Informationen zu zusammengesetzten Vorgängen finden Sie unter Nachrichtenschema für zusammengesetzte Vorgänge. |
Unterstützung für die Ausführung gespeicherter Prozeduren in den Schemas, die nicht dem Benutzer gehören | Mit dem Oracle Database-Adapter können Sie gespeicherte Prozeduren in einem Schema ausführen, auch wenn der aktuelle Benutzer nicht der Besitzer des Schemas ist, vorausgesetzt, der Benutzer verfügt über Berechtigungen für das Schema in Oracle. Wenn die gespeicherte Prozedur jedoch RECORD-Typen verwendet, müssen sie im gleichen Schema wie die gespeicherte Prozedur definiert werden. Informationen zum Ausführen gespeicherter Prozeduren mithilfe des Oracle Database-Adapters finden Sie unter Vorgänge für Funktionen und gespeicherte Prozeduren. |
Unterstützung für Datenbankänderungsbenachrichtigungen | Adapterclients können Datenbankänderungsbenachrichtigungen von der Oracle-Datenbank basierend auf einer auslösenden SELECT-Anweisung empfangen. Die Benachrichtigung wird von der Oracle-Datenbank an die Adapterclients gesendet, sobald sich das Resultset für die SELECT-Anweisung ändert. Weitere Informationen zu Datenbankänderungsbenachrichtigungen finden Sie unter Überlegungen zum Empfangen von Datenbankänderungsbenachrichtigungen. |
Unterstützung für Synonyme | Adapterclients können Vorgänge für Synonyme ausführen, die für Tabellen, Ansichten, gespeicherte Prozeduren, Funktionen und Pakete erstellt wurden. Informationen zu Synonymen und wie Sie den Oracle Database-Adapter zum Ausführen von Vorgängen für Synonyme verwenden können, finden Sie unter Vorgänge mit Synonymen in Oracle Database. |
Unterstützung für boolesche Parameter und PL/SQL-Tabellentypen | Adapterclients können Vorgänge in gespeicherten Prozeduren und Funktionen ausführen, die boolesche Parameter und den PL/SQL-Tabellentyp enthalten. |
Andere Funktionen
Funktion | Kommentar |
---|---|
Neue Verwendung des Adapters in BizTalk Server | Der Oracle Database-Adapter kann in BizTalk entweder als WCF-Custom-Port oder als WCF-OracleDB-Port verwendet werden. Wenn Sie den Oracle Database-Adapter über einen WCF-Custom-Port verwenden möchten, müssen Sie den WCF-Custom-Port nicht der BizTalk Server-Verwaltungskonsole hinzufügen, da der WCF-Custom-Port standardmäßig der BizTalk Server-Verwaltungskonsole hinzugefügt wird. Wenn Sie den Oracle Database-Adapter jedoch über einen WCF-OracleDB-Port verwenden möchten, müssen Sie zuerst den WCF-OracleDB-Adapter zur BizTalk Server-Verwaltungskonsole hinzufügen. Weitere Informationen finden Sie unter Hinzufügen des Oracle-Datenbankadapters zu BizTalk Server Verwaltungskonsole. |
Veraltete Features im Oracle-Adapter
In der folgenden Tabelle ist das Feature aufgeführt, das in der aktuellen Version des Oracle Database-Adapters veraltet ist.
Funktion | Kommentar |
---|---|
Bindungseigenschaften | Die Bindungseigenschaften PollingRetryCount, TransactionIsolationLevel und LongDataTypeColumnSize sind veraltet. HINWEIS Um die Transaktionsisolationsstufe für eingehende Vorgänge festzulegen, müssen Sie den entsprechenden Wert festlegen, indem Sie das Dienstverhalten beim Konfigurieren des Empfangsports hinzufügen. Anweisungen zum Festlegen der Transaktionsisolationsstufe finden Sie unter Konfigurieren der Transaktionsisolationsstufe und des Transaktionstimeouts. |
Zu beachtende Änderungen
Allgemein
Für Parameter vom Typ IN OUT REF CURSOR
Wenn der REF CURSOR-Wert in der gespeicherten Prozedur nicht geändert wurde, ist der Wert der Ausgabe mit dem Wert in der EINGABE REF CURSOR identisch.
Die Eingabe- und Ausgabedaten im REF CURSOR sind vom gleichen Typ.
Falsches Verhalten des Attributs "nil": Wenn Sie für alle einfachen Datentypen den Wert des Nil-Attributs auf "true" festlegen und ein Wert für das Feld oder den Parameter vorhanden ist, übergibt der Oracle-Datenbankadapter den angegebenen Wert fälschlicherweise anstelle von NULL. Als Problemumgehung müssen Sie sicherstellen, dass kein Wert für das Feld oder den Parameter angegeben ist, wenn Sie den NULL-Wert für ein Feld oder einen Parameter übergeben möchten. Um beispielsweise den NULL-Wert für ein Feld namens "name" zu übergeben:
<name xsi:nil="true"/>
Die Datentypen Real, Float und Long sowie zusätzliche Nullen (0) am Ende des Werts im Resultset des Select-Vorgangs werden nicht abgeschnitten. Darüber hinaus gibt das Resultset des Select-Vorgangs immer einen Wert mit der Genauigkeit 8 für die Datentypen Real, Float und Long zurück.
Behandlung von Daten für die RECORD-Typen: Der für diese Knoten übergebene Wert hängt vom Wert der SkipNilNodes-Bindungseigenschaft ab. Weitere Informationen zu dieser Bindungseigenschaft finden Sie unter Konfigurieren der Bindungseigenschaften für Oracle Database.
Ausgehende Vorgänge: Für die Parameter, für die kein Wert in der XML-Eingabedatei angegeben ist, wird kein Wert gesendet. Wenn in der gespeicherten Prozedur ein Standardwert angegeben wird, verwendet die Oracle-Datenbank diesen Wert, da vom Adapter kein Wert gesendet wurde. Wenn ein NULL-Wert gesendet werden muss, muss der Benutzer einen NULL-Knoten in der XML-Eingabedatei angeben, indem er den Wert des Attributs "nil" auf "true" festlegt.
Das Befehlstimeout wird unterstützt.
Der UpdateLOB-Vorgang muss im Rahmen einer Transaktion ausgeführt werden. Um dies sicherzustellen, muss der Wert der UseAmbientTransaction-Bindungseigenschaft auf True festgelegt werden.
BizTalk-Szenario
Ausgehende Vorgänge: Wenn die UseAmbientTransaction-Bindungseigenschaft "True" lautet, werden die Vorgänge in der Oracle-Datenbank und in der BizTalk MessageBox-Datenbank innerhalb derselben verteilten Transaktion ausgeführt. Weitere Informationen zu Transaktionen im Oracle Database-Adapter finden Sie unter Behandeln von Transaktionen mit dem Oracle Database-Adapter.
Eingehende Vorgänge: Sie können keinen Request-Response Empfangsport in BizTalk Server für eingehende Vorgänge verwenden, die den Oracle Database-Adapter verwenden. Es können nur One-Way Empfangsports verwendet werden.
Andere Szenarien
Ausgehende Vorgänge: Der Adapter initiiert keine Transaktion. Wenn der Benutzer mehrere Zeilen in dieselbe Transaktion einfügen möchte, liegt es in der Verantwortung des Benutzers, den Vorgang innerhalb eines System.Transactions-Transaktionsbereichs auszuführen. Außerdem muss der Benutzer den Wert der UseAmbientTransaction-Eigenschaft auf True festlegen. Weitere Informationen zu Transaktionen im Oracle Database-Adapter finden Sie unter Behandeln von Transaktionen mit dem Oracle Database-Adapter.
Ausgehende Vorgänge: Sll-Vorgänge, die für dasselbe IRequestChannel-/Proxyobjekt ausgeführt werden, werden möglicherweise nicht für dieselbe physische Verbindung mit der Oracle-Datenbank ausgeführt.
WCF-Kanalmodell: Der Oracle-Datenbankadapter unterstützt IReplyChannel bei Verwendung des WCF-Kanalmodells nicht. Sie können jedoch IInputChannel zum Ausführen eingehender Vorgänge verwenden. Darüber hinaus verlässt sich der Adapter in Bezug auf Transaktionen auf die vom WCF-Dispatcher initiierte Transaktion, um die Abfrage-Anweisung auszuführen und die Abfrage-Anweisung für die Oracle-Datenbank nachzufragen. Die Transaktionsisolationsstufe und das Timeout der vom WCF-Dispatcher initiierten Transaktion können durch Festlegen entsprechender Werte im ServiceBehavior gesteuert werden.