Freigeben über


Informationen zu den Bindungseigenschaften des Oracle Database-Adapters

Der Microsoft BizTalk-Adapter für Oracle Database zeigt mehrere Bindungseigenschaften an. Durch Festlegen dieser Eigenschaften können Sie einen Teil des Adapterverhaltens steuern. In diesem Abschnitt werden die Bindungseigenschaften des Oracle Database-Adapters beschrieben. Außerdem wird gezeigt, wie Sie mithilfe der .NET-Programmierung oder durch Festlegen von Eigenschaften für eine BizTalk Server physische Portbindung darauf zugreifen können.

Eigenschaften der Adapterbindung

In der folgenden Tabelle sind die Bindungseigenschaften des Oracle Database-Adapters nach Kategorie gruppiert. Die Kategorie bezieht sich auf den Knoten, unter dem jede Bindungseigenschaft in den Dialogfeldern angezeigt wird, die von verschiedenen Anwendungen zum Konfigurieren des Adapters (oder der Bindung) angezeigt werden.

Binding-Eigenschaft Category BESCHREIBUNG .NET-Typ
CloseTimeout Allgemein Das Timeout für das Schließen der WCF-Verbindung. Der Standardwert beträgt 1 Minute. Wird nicht unterstützt. System.TimeSpan
EnableBizTalkCompatibilityMode Allgemein Legen Sie den Wert dieser Bindungseigenschaft auf True fest, wenn Sie den Adapter mit BizTalk Server verwenden. Andernfalls müssen Sie den Wert dieser Bindungseigenschaft auf False festlegen. bool (System.Boolean)
InboundOperationType Allgemein Gibt an, ob Sie eingehende Abfragen oder Benachrichtigungen ausführen möchten. Der Standardwert ist Polling.

Weitere Informationen zum Abrufen von Abfragen finden Sie unter Unterstützung für den Empfang von abrufbasierten Datenänderungsmeldungen in Oracle Database. Weitere Informationen zu Benachrichtigungen finden Sie unter Überlegungen zum Empfangen von Datenbankänderungsbenachrichtigungen mithilfe des Oracle Database-Adapters.
enum
Name Allgemein Ein schreibgeschützter Wert, der den Namen der Datei zurückgibt, die vom Visual Studio-Plug-In Adapterdienstverweis hinzufügen generiert wurde, um die WCF-Clientklasse zu speichern. Das Add Adapter Service Reference Plug-In bildet den Dateinamen, indem "Client" an den Wert der Name-Eigenschaft angefügt wird. Der zurückgegebene Wert ist "OracleDBBinding"; für diesen Wert trägt die generierte Datei den Namen "OracleDBBindingClient". Zeichenfolge
OpenTimeout Allgemein ODP.NET-Eigenschaft. Gibt das Timeout für das Öffnen der WCF-Verbindung an. Der Standardwert beträgt 1 Minute. Diese Eigenschaft wird mithilfe von ODP.NET implementiert.

Wichtig: Der Oracle Database-Adapter verwendet immer OpenTimeout , um das Verbindungstimeout festzulegen, wenn eine Verbindung mit der Oracle-Datenbank hergestellt wird. Der Adapter ignoriert alle Timeoutparameter (System.TimeSpan), die beim Öffnen eines Kommunikationsobjekts, z. B. eines Kanals, übergeben werden.
System.TimeSpan
ReceiveTimeout Allgemein Gibt das Timeout für den Wcf-Nachrichten-Empfang an. Im Wesentlichen bedeutet dies, dass der Adapter maximal auf eine eingehende Nachricht wartet. Standardwert: 10 Minuten.

Wichtig: Für eingehende Vorgänge wie Abrufe wird empfohlen, das Timeout auf den maximal möglichen Wert festzulegen, der 24.20:31:23.6470000 (24 Tage) ist. Wenn Sie den Adapter mit BizTalk Server verwenden, wirkt sich das Festlegen des Timeouts auf einen großen Wert nicht auf die Funktionalität des Adapters aus.
System.TimeSpan
SendTimeout Allgemein ODP.NET-Eigenschaft. Gibt das Timeout für das Senden von WCF-Nachrichten an. Der Standardwert beträgt 1 Minute. Wird nicht unterstützt. System.TimeSpan
DataFetchSize BufferManagement ODP.NET-Eigenschaft. Gibt die Datenmenge in Bytes an, die ODP.NET aus dem Resultset in einem Server roundtrip abruft. Der Standard ist 65536. Diese Eigenschaft wird für die Leistungsoptimierung verwendet. long (System.Int64)
InsertBatchSize BufferManagement Gibt die Batchgröße für mehrere Datensatzeinfügungsvorgänge an. Der Standardwert ist 1. Für Werte von InsertBatchSize , die größer als eins sind, batchet der Oracle Database-Adapter die angegebene Anzahl von Datensätzen in einem einzelnen ODP.NET Aufruf. Wenn die Anzahl der Datensätze im Insert-Vorgang kein Vielfaches der Batchgröße ist, enthält der endgültige Batch weniger Datensätze als der Batchgrößewert. Wenn die Einfügemeldung beispielsweise 10 Datensätze enthält und InsertBatchSize auf 1 festgelegt ist, liest der Adapter einzelne Datensätze und schreibt sie in die Oracle-Datenbank. Daher führt der Adapter 10 separate Vorgänge für die Oracle-Datenbank aus. Wenn die Einfügenachricht 10 Datensätze enthält und insertBatchSize auf 5 festgelegt ist, liest und schreibt der Adapter fünf Datensätze gleichzeitig in die Oracle-Datenbank, sodass nur zwei Einfügevorgänge ausgeführt werden.

Wenn die Struktur der Datensätze in einem Batch nicht identisch ist, wird eine Microsoft.ServiceModel.Channels.Common.XmlReaderParsingException-Ausnahme ausgelöst, und für die Transaktion wird ein Rollback für den gesamten Einfügevorgang ausgeführt. Ein gut ausgewählter Wert für InsertBatchSize kann die Adapterleistung für Mehrere Datensatzeinfügungsvorgänge erheblich verbessern.
int (System.Int32)
LongDatatypeColumnSize BufferManagement Gibt die maximale Größe einer Oracle long-Datentypspalte in Bytes (32512) an. Die Standardeinstellung ist 0. Sie müssen den Standardwert verwenden, wenn Sie keinen Vorgang für den Long-Datentyp ausführen. Um die Daten vorab abzurufen, müssen Sie -1 als Wert für diese Bindungseigenschaft angeben. Sie müssen explizit einen geeigneten Wert für diese Bindungseigenschaft festlegen, wenn Sie:

– Ausführen einer gespeicherten Prozedur, die Parameter des Long-Datentyps enthält.

– Ausführen eines Select-Vorgangs für eine Tabelle, die Spalten mit langem Datentyp enthält, und die SELECT-Anweisung enthält nicht die Primärschlüsselspalte.

Hinweis: Diese Bindungseigenschaft ist veraltet.
long (System.Int64)
MaxOutputAssociativeArrayElements BufferManagement Gibt die Größe des zugeordneten Arrays an, das der Adapter erstellt, wenn Vorgänge ausgeführt werden, die ein assoziatives Array in der Antwort zurückgeben. Der Adapter kommuniziert die Größe des Arrays an ODP.NET, wodurch wiederum abhängig von der Arraygröße ein Puffer erstellt wird. Der Standardwert ist 32.

Diese Bindungseigenschaft ist nützlich, wenn Vorgänge mit PL/SQL-Tabellentypen ausgeführt werden.
int (System.Int32)
MetadataPooling BufferManagement ODP.NET-Eigenschaft. Gibt an, ob ODP.NET Metadateninformationen für ausgeführte Abfragen zwischenspeichert. Der Standardwert ist True, wodurch metadatenpooling aktiviert wird. Das Zwischenspeichern dieser Informationen verbessert die Leistung. Wenn jedoch Änderungen an den zugrunde liegenden Oracle-Artefakten auf dem Oracle-System auftreten, sind diese gepoolten Metadaten nicht synchronisiert. Dies kann dazu führen, dass vorgänge, die auf dem Oracle-System ausgeführt werden, unerwartete Ausnahmen zurückgeben. Diese Eigenschaft wird für die Leistungsoptimierung verwendet. bool (System.Boolean)
StatementCachePurge BufferManagement ODP.NET-Eigenschaft. Gibt an, ob der einer Verbindung zugeordnete ODP.NET-Anweisungscache gelöscht wird, wenn die Verbindung an den Verbindungspool zurückgegeben wird. Der Standardwert ist False, wodurch die Bereinigung des Anweisungscaches deaktiviert wird. Diese Eigenschaft wird für die Leistungsoptimierung verwendet. bool (System.Boolean)
StatementCacheSize BufferManagement ODP.NET-Eigenschaft. Gibt die maximale Anzahl von Anweisungen an, die von jeder ODP.NET Verbindung zwischengespeichert werden können. Durch Festlegen dieser Eigenschaft auf einen Wert ungleich 0 (null) wird das Zwischenspeichern von Anweisungen für Verbindungen aktiviert. Der Standardwert ist 10. Diese Eigenschaft wird für die Leistungsoptimierung verwendet. int (System.Int32)
EnablePerformanceCounters Diagnose Gibt an, ob die Leistungsindikatoren des WCF LOB Adapter SDK und der Leistungsindikator LOB-Latenz des Oracle Database-Adapters aktiviert werden sollen. Der Standardwert ist False. Leistungsindikatoren sind deaktiviert. Der Leistungsindikator LOB-Latenz misst die Gesamtzeit, die der Oracle Database-Adapter für Aufrufe der Oracle-Datenbank aufwendet. bool (System.Boolean)
EnableSafeTyping Metadaten Aktiviert oder deaktiviert die sichere Eingabe. Der Standardwert ist False. Die sichere Eingabe ist deaktiviert. Dieses Feature steuert, wie der Adapter bestimmte Oracle-Datentypen behandelt. Weitere Informationen zur sicheren Eingabe finden Sie unter Grundlegende Oracle-Datentypen1. bool (System.Boolean)
UseSchemaInNameSpace Metadaten Gibt an, ob der Schemaname (SCOTT, HR usw.) im xml-Namespace für Vorgänge und die zugehörigen Typen enthalten ist. Der Standardwert ist True. Der Schemaname ist im Namespace enthalten. Der Vorteil, dass der Schemaname nicht im Namespace enthalten ist, besteht darin, dass, wenn eine Tabelle mit demselben Namen (z. B. EMP) in zwei verschiedenen Schemas vorhanden ist, derselbe XML-Code verwendet werden kann, um die einfachen SQL-Vorgänge (Einfügen, Aktualisieren, Löschen, Auswählen) für beide Tabellen auszuführen.

Wenn z. B. die UseSchemaInNamespace-Eigenschaft true ist, der Namespace für diese Vorgänge auf dem SCOTT. EMP-Tabelle ist "http://Microsoft.LobServices.OracleDB/2007/03/SCOTT/Table/EMP"; wenn sie false ist, lautet "http://Microsoft.LobServices.OracleDB/2007/03/Table/EMP"der Namespace .

Wichtig: Die Nachrichtenaktion wird von der UseSchemaInNamesapce-Bindungseigenschaft nicht beeinflusst. Sie enthält immer den Schemanamen.

Wichtig: Es wird dringend empfohlen, diese Bindungseigenschaft beim Generieren von Metadaten auf True festzulegen. Wenn Sie diese Eigenschaft auf false festlegen, sind die Oracle-Schemanamen (z. B. SCOTT) im XML-Namespace des generierten Schemas nicht verfügbar. Wenn also zwei Tabellen mit demselben Namen in zwei unterschiedlichen Oracle-Schemas vorhanden sind und sie demselben BizTalk-Projekt hinzugefügt werden, kann das BizTalk-Projekt nicht erstellt und bereitgestellt werden. Wenn Sie solche Schemas in dasselbe BizTalk-Projekt einschließen möchten, müssen Sie sie manuell bearbeiten, um den Oracle-Schemanamen in den XML-Namespace einzuschließen.
bool (System.Boolean)
NotificationPort Benachrichtigung Gibt die Portnummer an, die ODP.NET öffnen muss, um von der Oracle-Datenbank auf Datenbankänderungsbenachrichtigungen zu lauschen. Der Standardwert ist -1, was bedeutet, dass ODP.NET eine gültige, zufällige, nicht verwendete Portnummer verwendet.

Wichtig: Adapterclients erhalten keine Datenbankänderungsbenachrichtigungen, wenn die Windows-Firewall aktiviert ist. Außerdem ist es nicht ratsam, die Windows-Firewall zu deaktivieren, um Benachrichtigungen zu empfangen. Um also Benachrichtigungen zu erhalten, ohne die Sicherheit der clientseitigen Computer zu beeinträchtigen, empfehlen wir, einen positiven ganzzahligen Wert als Portnummer anzugeben und diese Portnummer dann der Liste der Ausnahmen der Windows-Firewall hinzuzufügen. Wenn Sie diese Bindungseigenschaft auf den Standardwert -1 festlegen, verwendet ODP.NET einen zufälligen Port, und Adapterclients wissen nicht, welcher Port zur Liste der Windows-Firewallausnahmen hinzugefügt werden soll. Anweisungen zum Hinzufügen von Ports zur Liste der Windows-Firewallausnahmen finden Sie unter https://go.microsoft.com/fwlink/?LinkID=196959.

Vorsicht: Wenn mehrere Anwendungen in einer Anwendungsdomäne Benachrichtigungen über den Oracle Database-Adapter empfangen, muss die NotificationPort-Bindungseigenschaft für alle Anwendungen auf dieselbe Portnummer festgelegt werden. Dies liegt daran, dass ODP.NET nur einen Listener erstellt, der an einem Port innerhalb einer Anwendungsdomäne lauscht.
int (System.Int32)
NotificationStatement Benachrichtigung Gibt die SELECT-Anweisung an, die für die Registrierung zum Abrufen von Benachrichtigungen aus der Oracle-Datenbank verwendet wird. Eine SELECT-Beispiel-Anweisung könnte wie folgt aussehen.

SELECT TID,ACCOUNT,PROCESSED FROM SCOTT.ACCOUNTACTIVITY WHERE PROCESSED = ‘n’

Hinweis: Sie müssen den Namen des Datenbankobjekts zusammen mit dem Schemanamen angeben. Beispiel: SCOTT.ACCOUNTACTIVITY.

Der Adapter ruft nur dann eine Benachrichtigung aus der Oracle-Datenbank ab, wenn sich das Resultset für die angegebene SELECT-Anweisung ändert.
Zeichenfolge
NotifyOnListenerStart Benachrichtigung Gibt an, ob der Adapter eine Benachrichtigung an die Adapterclients sendet und darüber informiert, dass der Empfangsspeicherort ausgeführt wird, wenn der Listener gestartet wird. Der Standardwert ist true. bool (System.Boolean)
ConnectionLifetime OracleConnectionPool ODP.NET-Eigenschaft. Gibt die maximale Dauer einer Verbindung in Sekunden an. Die Standardeinstellung ist 0. Diese Eigenschaft wird für die Leistungsoptimierung verwendet. int (System.Int32)
DecrPoolSize OracleConnectionPool ODP.NET-Eigenschaft. Gibt die Anzahl der Verbindungen an, die geschlossen werden, wenn eine übermäßige Anzahl von eingerichteten Verbindungen nicht verwendet wird. Der Standardwert ist 1. Dies wird für die Leistungsoptimierung verwendet. int (System.Int32)
IncrPoolSize OracleConnectionPool ODP.NET-Eigenschaft. Gibt die Anzahl der neuen Verbindungen an, die erstellt werden sollen, wenn eine neue Verbindung angefordert wird und keine Verbindungen im ODP.NET Verbindungspool verfügbar sind. Der Standardwert ist 5. Diese Eigenschaft wird für die Leistungsoptimierung verwendet. int (System.Int32)
MaxPoolSize OracleConnectionPool ODP.NET-Eigenschaft. Gibt die maximale Anzahl von Verbindungen in einem ODP.NET Verbindungspool an. Der Standard ist 100. Diese Eigenschaft wird für die Leistungsoptimierung verwendet.

Wichtig: Sie müssen MaxPoolSize mit Bedacht festlegen. Es ist möglich, die Anzahl der verbindungen, die von ODP.NET verfügbar sind, zu überlasten, wenn dieser Wert zu groß festgelegt ist.
int (System.Int32)
MinPoolSize OracleConnectionPool ODP.NET-Eigenschaft. Gibt die Mindestanzahl von Verbindungen in einem ODP.NET Verbindungspool an. Der Standardwert ist 1. Diese Eigenschaft wird für die Leistungsoptimierung verwendet. int (System.Int32)
UseOracleConnectionPool OracleConnectionPool ODP.NET-Eigenschaft. Gibt an, ob der ODP.NET-Verbindungspool verwendet werden soll. Der Standardwert ist True, wodurch verbindungspooling aktiviert wird. Der Oracle Database-Adapter implementiert Verbindungspools mithilfe des ODP.NET Verbindungspools. bool (System.Boolean)
PolledDataAvailableStatement PollingReceive Gibt die SELECT-Anweisung an, die ausgeführt wird, um zu bestimmen, ob Daten für den Abruf einer bestimmten Tabelle verfügbar sind. Die angegebene Anweisung muss ein Resultset zurückgeben, das aus Zeilen und Spalten besteht. Der Wert in der ersten Zelle des Resultsets gibt an, ob der Adapter den für die PollingStatement-Bindungseigenschaft angegebenen Wert ausführt. Wenn die erste Zelle des Ergebnisses einen positiven Wert enthält, führt der Adapter die Abruf-Anweisung aus. Eine gültige Anweisung für diese Bindungseigenschaft ist beispielsweise:

Select * from <table_name>

Der Standardwert dieser Bindungseigenschaft ist auf Folgendes festgelegt:

SELECT 1 FROM DUAL

Dies bedeutet, dass der Adapter die Abfrage unabhängig davon fortsetzen muss, ob die abgefragte Tabelle Daten enthält oder nicht.

Hinweis: Sie dürfen keine gespeicherten Prozeduren für diese Bindungseigenschaft angeben. Außerdem darf diese Anweisung die zugrunde liegende Oracle-Datenbank nicht ändern.
Zeichenfolge
PollingAction PollingReceive Gibt die Aktion für den Abrufvorgang an. Sie können die Abrufaktion für einen bestimmten Vorgang anhand der Metadaten ermitteln, die Sie für den Vorgang mithilfe des Add-Ins Adapterdienst nutzen generieren. Zeichenfolge
PollingInterval PollingReceive Gibt das Transaktionsabrufintervall an, d. h. das Intervall in Sekunden, in dem der Oracle Database-Adapter die Abruf-Anweisung für die Oracle-Datenbank ausführt. Der Standard ist 500. Das Abrufintervall wird vom Adapter für Folgendes verwendet:

– Das Zeitintervall zwischen aufeinander folgenden Umfragen. Dieses Intervall wird verwendet, um die Abfrage- und Nachabfrageabfragen auszuführen. Wenn diese Abfragen innerhalb des angegebenen Intervalls ausgeführt werden, wird der Adapter für die verbleibende Zeit im Intervall in den Standbymodus versetzt.

– Der Timeoutwert der Abruftransaktion. Dieser Wert muss groß genug festgelegt werden, um die Ausführungszeit der Abrufanweisungen, die Ausführungszeit der Anweisung nach dem Abruf (sofern angegeben) und die Zeit zum Empfangen der Antwort von der Clientanwendung zum Commit der Transaktion einzuschließen.

Wenn die Clientanwendung eine Antwort sendet, bevor das Abrufintervall abläuft, committet der Adapter die Transaktion und wartet, bis das Abrufintervall erreicht ist, um die nächste Abfrage auszuführen.

Wenn die Clientanwendung einen Fehler zurückgibt, beendet der Adapter die Transaktion.

Wenn das Abrufintervall abläuft, bevor die Clientanwendung die Antwort sendet, tritt für die Transaktion ein Timeout auf. Weitere Informationen zur Verwendung von Bindungseigenschaften in einem Abrufszenario finden Sie unter Unterstützung für den Empfang von abrufbasierten datenseitig geänderten Nachrichten in Oracle Database.
int (System.Int32)
PollingStatement PollingReceive Gibt die Abruf-Anweisung an. Sie können eine einfache SELECT-Anweisung oder eine gespeicherte Prozedur, Funktion oder eine gepackte Prozedur oder Funktion zum Abruf angeben.

– Wenn Sie eine Tabelle oder Sicht abfragen möchten, müssen Sie in dieser Bindungseigenschaft eine SELECT-Abfrage angeben.

- Wenn Sie mithilfe einer gespeicherten Prozedur, Funktion oder Prozedur oder Funktion innerhalb eines Pakets abfragen möchten, müssen Sie die gesamte Anforderungsnachricht für den jeweiligen Vorgang in dieser Bindungseigenschaft angeben.

Die Abrufanweisung wird nur ausgeführt, wenn die von der PolledDataAvailableStatement-Bindungseigenschaft ausgeführte Anweisung einige Daten zurückgibt.

Wichtig: Der Oracle Database-Adapter führt die Abruf-Anweisung und die Nachabfrage-Anweisung (sofern angegeben) innerhalb einer Oracle-Transaktion aus. Wenn Sie eine SELECT-Anweisung in der PollingStatement-Bindungseigenschaft verwenden, empfiehlt es sich, eine FOR UPDATE-Klausel in Ihrer SELECT-Anweisung anzugeben. Dadurch wird sichergestellt, dass die ausgewählten Datensätze während der Transaktion gesperrt sind und dass die Anweisung nach der Abfrage alle erforderlichen Aktualisierungen für die ausgewählten Datensätze durchführen kann.

Weitere Informationen zur Verwendung von Bindungseigenschaften in einem Abrufszenario, einschließlich der Verwendung der FOR UPDATE-Klausel, finden Sie hier. Weitere Informationen finden Sie unter Unterstützung für den Empfang von Auf abrufbasierten Daten geänderten Nachrichten in Oracle Database.
Zeichenfolge
PollWhileDataFound PollingReceive Gibt an, ob der Oracle Database-Adapter das Abrufintervall ignoriert und kontinuierlich die Oracle-Datenbank abruft, wenn Daten in der abgerufenen Tabelle verfügbar sind. Wenn in der Tabelle keine Daten verfügbar sind, wird der Adapter zurückgesetzt, um die SQL-Anweisung im angegebenen Abrufintervall auszuführen. Der Standardwert ist False.

Stellen Sie sich ein Szenario vor, in dem das Abrufintervall auf 60 Sekunden festgelegt ist und die für PolledDataAvailableStatement angegebene Anweisung zurückgibt, dass Daten für Abrufe verfügbar sind. Der Adapter führt dann die anweisung aus, die für die PollingInput-Bindungseigenschaft angegeben ist. Wenn der Adapter nur 10 Sekunden benötigt, um die Anweisung auszuführen, muss er nun 50 Sekunden warten, bevor polledDataAvailableStatement erneut ausgeführt wird, und anschließend die Abrufanweisung ausführen. Um die Leistung zu optimieren, können Sie stattdessen die Bindungseigenschaft PollWhileDataFound auf true festlegen, damit der Adapter mit der Ausführung des nächsten Abrufzyklus beginnen kann, sobald der vorherige Abrufzyklus endet.

Hinweis: Diese Bindungseigenschaft gilt sowohl für das Abfragen von Tabellen und Sichten als auch für Abfragen mithilfe gespeicherter Prozeduren, Funktionen oder verpackter Prozeduren oder Funktionen.
Zeichenfolge
PostPollStatement PollingReceive Gibt einen PL/SQL-Block an, der nach der Abruf-Anweisung und vor dem Senden der /POLLINGSTMT-Nachricht an den Consumer ausgeführt wird. Der Standardwert ist NULL. Es wird keine Post-Poll-Anweisung ausgeführt. Die Anweisung nach dem Abruf wird innerhalb der Abruftransaktion ausgeführt. Zwei häufige Verwendungsmöglichkeiten für die Anweisung nach der Umfrage sind:

: Aktualisieren Sie eine Spalte in den Zeilen, die in der Abfrage-Anweisung zurückgegeben werden, um anzugeben, dass sie verarbeitet wurden und von nachfolgenden Abrufabfragen ausgeschlossen werden sollten.

– Verschieben von verarbeiteten Datensätzen in eine andere Tabelle.

Wichtig: Wenn eine Anweisung nach dem Abruf angegeben wird, sollte PollingInterval groß genug festgelegt werden, damit der PL/SQL-Block abgeschlossen wird, bevor das Intervall abläuft.

Weitere Informationen zur Verwendung von Bindungseigenschaften in einem Abrufszenario finden Sie unter Unterstützung für den Empfang von abrufbasierten datenseitig geänderten Nachrichten in Oracle Database.
Zeichenfolge
SkipNilNodes Laufzeitverhalten Gibt an, ob der Oracle Database-Adapter das Einfügen oder Aktualisieren von Werten für Knoten überspringt, die in der Anforderungs-XML als "null" gekennzeichnet sind. Diese Bindungseigenschaft gilt für das Einfügen oder Aktualisieren von Datensätzen in einer Tabelle und für RECORD-Typparameter in gespeicherten Prozeduren. Der Standardwert ist True. Dies bedeutet, dass der Adapter die Übergabe von Werten für Knoten überspringt, die als "null" markiert sind. In diesem Fall wird der Standardwert in Oracle (sofern angegeben) für Knoten berücksichtigt, die als "null" gekennzeichnet sind. Wenn dieser Wert auf False festgelegt ist, übergibt der Adapter explizit einen NULL-Wert für diese Knoten.

Hinweis: Für Knoten, die nicht in der Anforderungs-XML vorhanden sind, überspringt der Adapter immer die Übergabe von Werten, unabhängig vom Wert der SkipNilNodes-Bindungseigenschaft . Bei PL/SQL-Tabellen von RECORDS übergibt der Adapter unabhängig vom Wert der SkipNilNodes-Bindungseigenschaft immer einen NULL-Wert für Knoten, die entweder als "null" gekennzeichnet sind oder nicht in der Anforderungs-XML vorhanden sind.

Im folgenden Beispiel wird der Unterschied in der Adapterkonfiguration basierend auf dem Wert erläutert, den Sie für diese Bindungseigenschaft festlegen. Angenommen, eine Anforderungs-XML sieht wie folgt aus:

<EMPNO>1000</EMPNO> <ENAME>John</ENAME> <SAL nil=’true’></SAL>

Wenn SkipNilNodes auf True festgelegt ist, führt der Adapter den folgenden Befehl aus:

INSERT INTO EMP (EMPNO, ENAME) VALUES (1000, “John”);

Wenn SkipNilNodes auf False festgelegt ist, führt der Adapter die folgende Abfrage aus:

INSERT INTO EMP (EMPNO, ENAME, SAL) VALUES (1000, “John”, null);

Beachten Sie, dass der Adapter in der zweiten Anweisung explizit einen NULL-Wert für den Parameter "SAL" einfügt.
bool (System.Boolean)
UseAmbientTransaction Transaktionen Gibt an, ob der Oracle Database-Adapter die Vorgänge mithilfe des vom Aufrufer bereitgestellten Transaktionskontexts ausführt. Der Standardwert ist True. Dies bedeutet, dass der Adapter die Vorgänge immer in einem Transaktionskontext ausführt, vorausgesetzt, der Client stellt den Transaktionskontext bereit. Wenn andere Ressourcen an der Transaktion teilnehmen, werden die erstellten Verbindungen in System.Transaction eingetragen und auf eine MSDTC-Transaktion erhöht.

Es kann jedoch Szenarien geben, in denen sie nicht möchten, dass der Adapter Vorgänge in einem Transaktionskontext ausführt. Beispiel:

– Beim Ausführen eines einfachen SELECT-Vorgangs für die Oracle-Datenbank (an einem Sendeport).

– Geben Sie eine Abruf-Anweisung an, die einen SELECT-Vorgang ausführt und keine Änderungen an der Tabelle enthält, weder über eine DELETE-Anweisung noch durch Aufrufen einer gespeicherten Prozedur (auf einem Empfangsport).

Beide Vorgänge führen keine Aktualisierungen an der Datenbanktabelle durch. Daher kann das Erhöhen dieser Vorgänge zur Verwendung einer MSDTC-Transaktion einen Leistungsmehraufwand verursachen. In solchen Szenarien können Sie die Bindungseigenschaft auf false festlegen, damit der Oracle Database-Adapter die Vorgänge nicht in einem Transaktionskontext ausführt.

Hinweis: Keine Vorgänge in einem Transaktionskontext auszuführen, ist nur für Vorgänge ratsam, die keine Änderungen an der Datenbank vornehmen. Bei Vorgängen, mit denen Daten in der Datenbank aktualisiert werden, wird empfohlen, die Bindungseigenschaft auf TRUE festzulegen. Andernfalls treten entweder Nachrichtenverluste oder doppelte Nachrichten auf, je nachdem, ob Sie eingehende oder ausgehende Vorgänge ausführen.
bool (System.Boolean)
GeneratedUserTypesAssemblyFilePath UDT .NET-Typgenerierung – Entwurfszeit Gibt den Namen und Pfad der DLL an, die der Adapter generiert, während Metadaten generiert werden, die alle udTs enthalten, die in den Metadaten verwendet werden. Sie müssen einen DLL-Namen angeben, wenn Sie Metadaten für Pakete, gespeicherte Prozeduren oder Funktionen generieren, die UDTs verwenden. Die Angabe des DLL-Namens ist für Tabellen und Sichten mit UDTs optional. Die generierte DLL wird am gleichen Speicherort wie die ausführbare Datei gespeichert.

Diese Bindungseigenschaft ist nur beim Generieren von Metadaten erforderlich.

Hinweis: Sie müssen nur einen Dateinamen angeben. Für alle UDTs in den Metadaten generiert der Adapter eine einzelne Datei mit dem angegebenen Namen. Wenn Sie keinen Namen angeben, generiert der Adapter die DLL mit einem GUID-Namen. Diese Bindungseigenschaft ist in BizTalk Server beim Konfigurieren eines WCF-OracleDB-Empfangs- oder Sendeports nicht verfügbar.
Zeichenfolge
GeneratedUserTypesAssemblyKeyFilePath UDT .NET-Typgenerierung – Entwurfszeit Gibt den Namen und Pfad der Schlüsseldatei an, die der Adapter zum Erstellen einer assembly mit starkem Typ verwendet.

Diese Bindungseigenschaft ist optional und nur beim Generieren von Metadaten erforderlich.

Hinweis: Diese Bindungseigenschaft ist in BizTalk Server beim Konfigurieren eines WCF-OracleDB-Empfangs- oder Sendeports nicht verfügbar.
Zeichenfolge
UserAssembliesLoadPath UDT .NET-Typgenerierung – Laufzeit Gibt den Namen der DLLs an, getrennt durch ein Semikolon, den der Adapter beim Generieren von Metadaten erstellt. Diese DLLs werden an dem Speicherort gespeichert, den Sie für die Bindungseigenschaft GeneratedUserTypesAssemblyFilePath beim Generieren von Metadaten angegeben haben. Sie müssen diese DLLs manuell an die folgenden Speicherorte kopieren:

Für BizTalk-Projekte: Kopieren Sie die DLLs am selben Speicherort wie BTSNTSvc.exe. Für BizTalk Server ist dies in der Regel unter <Installationslaufwerk>:\Programme\Microsoft BizTalk Server verfügbar.

Für .NET-Projekte: Kopieren Sie die DLLs in den Ordner \bin\Development in Ihrem .NET-Projektordner.

Diese Bindungseigenschaft ist nur beim Senden und Empfangen von Nachrichten erforderlich, um Vorgänge für die Oracle-Datenbank auszuführen.
Zeichenfolge
AcceptCredentialsInUri Wird nicht vom Add-In "Adapterdienst nutzen" oder "Adapterdienstverweis-Plug-In hinzufügen" angezeigt. Gibt an, ob der Oracle-Verbindungs-URI Benutzeranmeldeinformationen für die Oracle-Datenbank enthalten kann. Der Standardwert ist False, wodurch die Benutzeranmeldeinformationen im Verbindungs-URI deaktiviert werden. Wenn AcceptCredentialsInUriauf False festgelegt ist und der Oracle-Verbindungs-URI Benutzeranmeldeinformationen enthält, löst der Oracle Database-Adapter eine Ausnahme aus. Sie können AcceptCredentialsInUri auf True festlegen, wenn Sie Anmeldeinformationen im URI angeben müssen. Weitere Informationen finden Sie unter Erstellen des Oracle Database-Verbindungs-URI. bool (System.Boolean)

Wie setz ich Oracle-Bindungseigenschaften?

Sie können die Oracle-Bindungseigenschaften festlegen, wenn Sie eine Verbindung mit einer Oracle-Datenbank angeben. Informationen zum Festlegen von Bindungseigenschaften in folgenden Fällen:

Weitere Informationen

Entwicklungsaufgaben für die Bereitstellung einer BizTalk-Anwendung