Freigeben über


Erstellen des Oracle Database-Verbindungs-URI

Der Verbindungs-URI des Microsoft BizTalk-Adapters für Oracle-Datenbank enthält Eigenschaften, die der Adapter zum Herstellen einer Verbindung mit der Oracle-Datenbank verwendet. Dieses Thema enthält Informationen zum Angeben des Verbindungs-URI für die Verbindung mit der Oracle-Datenbank mithilfe von tnsnames.ora und ohne Verwendung von tnsnames.ora. Außerdem werden Informationen zur Verwendung des Verbindungs-URI zum Herstellen einer Verbindung mit der Oracle-Datenbank bereitgestellt.

Verbindungs-URI zum Herstellen einer Verbindung mit der Oracle-Datenbank mithilfe von tnsnames.ora

Wichtig

  • Für diesen Ansatz müssen Sie den Eintrag net service name in der Datei tnsnames.ora auf dem Computer hinzufügen, auf dem der Adapterclient installiert ist. Weitere Informationen zum Net Service Name-Eintrag finden Sie unter Konfigurieren des Oracle-Clients für den Oracle Database-Adapter.
  • Aufgrund einer Oracle Client-Einschränkung darf der DataSourceName-Parameter (Net Service Name) im Verbindungs-URI nicht mehr als 39 Zeichen enthalten, wenn Sie Vorgänge in einer Transaktion ausführen. Stellen Sie daher sicher, dass der für den DataSourceName-Parameter angegebene Wert kleiner oder gleich 39 Zeichen ist, wenn Sie Vorgänge in einer Transaktion ausführen.

Ein typischer Endpunktadress-URI in WCF wird wie folgt dargestellt: scheme://userauthparams@hostinfoparams?query_string

  • scheme ist der Schemaname.
  • userauthparams ist eine Name-Wert-Sammlung von Parametern, die für die Benutzerauthentifizierung durch den Endpunkt erforderlich sind.
  • hostinfoparams informationen, die zum Herstellen der Verbindung mit dem Host erforderlich sind; Beispielsweise ein Pfad.
  • query_string ist eine optionale Name-Wert-Auflistung von Parametern, die durch ein Fragezeichen (?) getrennt sind.

Der Verbindungs-URI des Oracle Database-Adapters entspricht diesem grundlegenden Format und wird wie folgt implementiert:

oracledb://[NET_SERVICE_NAME]?PollingId=[POLLING_ID]  

Oder in erweiterten Szenarien:

oracledb://User=[USER_NAME];Password=[PASSWORD]@[NET_SERVICE_NAME]?PollingId=[POLLING_ID]  

In der folgenden Tabelle werden die im Verbindungs-URI enthaltenen Eigenschaften erläutert:

Verbindungs-URI-Eigenschaft Category BESCHREIBUNG
[USER_NAME] userauthparams Der Benutzername, der für die Authentifizierung in der Oracle-Datenbank verwendet werden soll, z. B SCOTT. . Sie müssen die AcceptCredentialsInUri-Bindungseigenschaft auf true festlegen, um den Benutzernamen und das Kennwort im Verbindungs-URI anzugeben. Die AcceptCredentialsInUri-Bindungseigenschaft ist auf der Registerkarte BizTalk Server Bindung nicht verfügbar.

Hinweis Der Oracle Database-Adapter behält die Groß-/Kleinschreibung des Werts bei, den Sie für den Benutzernamen eingeben, wenn er eine Verbindung mit der Oracle-Datenbank öffnet. Bei Benutzernamen in der Oracle-Datenbank wird die Groß-/Kleinschreibung beachtet. Stellen Sie sicher, dass Sie oracle-Benutzernamen für den Oracle Database-Adapter in dem von Ihrer Oracle-Datenbank erwarteten Fall angeben. In der Regel bedeutet dies, dass der Benutzername in den SCOTT/TIGER-Anmeldeinformationen groß geschrieben werden sollte: "SCOTT".
[KENNWORT] userauthparams Das Kennwort, das für die Authentifizierung in der Oracle-Datenbank verwendet werden soll, z. B TIGER. . Sie müssen die AcceptCredentialsInUri-Bindungseigenschaft auf true festlegen, um den Benutzernamen und das Kennwort im Verbindungs-URI anzugeben. Die AcceptCredentialsInUri-Bindungseigenschaft ist auf der Registerkarte BizTalk Server Bindung nicht verfügbar.

Hinweis Der Oracle Database-Adapter behält die Groß-/Kleinschreibung des Werts bei, den Sie für das Kennwort eingeben, wenn er eine Verbindung mit der Oracle-Datenbank öffnet. Für die Version 10g oder früher wird für Kennwörter für das Oracle-System nicht zwischen Groß- und Kleinschreibung unterschieden.
[NET_SERVICE_NAME] hostinfoparams Ein Net-Dienstname, der in der Datei tnsnames.ora auf dem Computer angegeben wird, auf dem der Oracle Database-Adapter installiert ist. Weitere Informationen zu Net-Dienstnamen und tnsnames.ora finden Sie unter Konfigurieren des Oracle-Clients für den Oracle-Datenbankadapter.
[POLLING_ID] query_string Eine optionale Zeichenfolge, die vom Adapter an den Standardnamespace des POLLINGSTMT-Vorgangs angefügt werden soll. Dadurch können Sie einen eindeutigen Namespace für jeden Abfragevorgang angeben, wenn ein Projekt mehrere Abrufvorgänge enthält. Sie müssen keine PollingId-Zeichenfolge angeben, wenn Ihr Projekt nur einen POLLINGSTMT-Vorgang enthält.

Hinweis

Abfrageparameter werden auch im Verbindungs-URI verwendet, wenn eine Endpunktadresse für einen WCF Metadata Exchange-Client angegeben wird.

Verbindungs-URI zum Herstellen einer Verbindung mit der Oracle-Datenbank ohne Verwendung von tnsnames.ora

Wichtig

  • Für diesen Ansatz muss der Net-Dienstname in der Datei tnsnames.ora oder die eigentliche tnsnames.ora-Datei selbst nicht auf dem Clientcomputer vorhanden sein.
  • Dieser Konnektivitätsmodus wird nicht unterstützt, wenn Sie Vorgänge in einer Transaktion ausführen. Dies ist auf eine Einschränkung des Oracle-Clients zurückzuführen.

Ein typischer Endpunktadress-URI in WCF wird wie folgt dargestellt: scheme://userauthparams@hostinfoparams?query_string

  • scheme ist der Schemaname.
  • userauthparams ist eine Name-Wert-Sammlung von Parametern, die für die Benutzerauthentifizierung durch den Endpunkt erforderlich sind.
  • hostinfoparams informationen, die zum Herstellen der Verbindung mit dem Host erforderlich sind; z. B. Servername, Portnummer usw.
  • query_string ist eine optionale Name-Wert-Auflistung von Parametern, die durch ein Fragezeichen (?) getrennt sind.

Der Verbindungs-URI des Oracle Database-Adapters entspricht diesem grundlegenden Format und wird wie folgt implementiert:

oracledb://[SERVER_ADDRESS]:[PORT_NUMBER]/[SERVICE_NAME]/[SERVICE_TYPE]?PollingId=[POLLING_ID]  

Oder in erweiterten Szenarien:

oracledb://User=[USER_NAME];Password=[PASSWORD]@[SERVER_ADDRESS]:[PORT_NUMBER]/[SERVICE_NAME]/[SERVICE_TYPE]?PollingId=[POLLING_ID]  

In der folgenden Tabelle werden die im Verbindungs-URI enthaltenen Eigenschaften erläutert:

Verbindungs-URI-Eigenschaft Category BESCHREIBUNG
[USER_NAME] userauthparams Der Benutzername, der für die Authentifizierung in der Oracle-Datenbank verwendet werden soll; z. B. SCOTT. Sie müssen die AcceptCredentialsInUri-Bindungseigenschaft auf true festlegen, um den Benutzernamen und das Kennwort im Verbindungs-URI anzugeben. Die AcceptCredentialsInUri-Bindungseigenschaft ist auf der Registerkarte BizTalk Server Bindung nicht verfügbar.

Hinweis Der Oracle Database-Adapter behält die Groß-/Kleinschreibung des Werts bei, den Sie für den Benutzernamen eingeben, wenn er eine Verbindung mit der Oracle-Datenbank öffnet. Bei Benutzernamen in der Oracle-Datenbank wird die Groß-/Kleinschreibung beachtet. Stellen Sie sicher, dass Sie oracle-Benutzernamen für den Oracle Database-Adapter in dem von Ihrer Oracle-Datenbank erwarteten Fall angeben. In der Regel bedeutet dies, dass der Benutzername in den SCOTT/TIGER-Anmeldeinformationen groß geschrieben werden sollte: "SCOTT".
[KENNWORT] userauthparams Das Kennwort, das für die Authentifizierung in der Oracle-Datenbank verwendet werden soll; z. B. TIGER. Sie müssen die AcceptCredentialsInUri-Bindungseigenschaft auf true festlegen, um den Benutzernamen und das Kennwort im Verbindungs-URI anzugeben. Die AcceptCredentialsInUri-Bindungseigenschaft ist auf der Registerkarte BizTalk Server Bindung nicht verfügbar.

Hinweis Der Oracle Database-Adapter behält die Groß-/Kleinschreibung des Werts bei, den Sie für das Kennwort eingeben, wenn er eine Verbindung mit der Oracle-Datenbank öffnet. Für die Version 10g oder früher wird für Kennwörter für das Oracle-System nicht zwischen Groß- und Kleinschreibung unterschieden.
[SERVER_ADDRESS] hostinfoparams Name oder IP-Adresse des Servers, auf dem die Oracle-Datenbank ausgeführt wird. Dies ist obligatorisch, wenn Sie diese Art von Konnektivität verwenden.
[PORT_NUMBER] hostinfoparams Der Oracle Net Listener-Port. Wenn kein Wert angegeben wird, übernimmt der Adapter den Standardwert 1521.
[SERVICE_NAME] hostinfoparams Der Name des Oracle-Datenbankdiensts. Dies ist obligatorisch, wenn Sie diese Art von Konnektivität verwenden.
[SERVICE_TYPE] hostinfoparams Der Typ des Oracle-Diensts. Die möglichen Werte sind Dedicated oder Shared. Ein dedizierter Dienst verwendet einen dedizierten Serverprozess, um nur einen Benutzerprozess zu bedienen. Ein gemeinsam genutzter Dienst verwendet einen freigegebenen Serverprozess, der mehrere Benutzerprozesse bedienen kann. Der Standardwert ist Dediziert.
[POLLING_ID] query_string Eine optionale Zeichenfolge, die vom Adapter an den Standardnamespace des POLLINGSTMT-Vorgangs angefügt werden soll. Dadurch können Sie einen eindeutigen Namespace für jeden Abrufvorgang angeben, wenn ein Projekt mehrere Abrufvorgänge enthält. Sie müssen keine PollingId-Zeichenfolge angeben, wenn Ihr Projekt nur einen POLLINGSTMT-Vorgang enthält.

Hinweis

Abfrageparameter werden auch im Verbindungs-URI verwendet, wenn eine Endpunktadresse für einen WCF Metadata Exchange-Client angegeben wird.

Oracle Database-Anmeldeinformationen und Verbindungs-URI

Standardmäßig löst der Oracle Database-Adapter eine Ausnahme aus, wenn die Oracle-Datenbankanmeldeinformationen im Verbindungs-URI angegeben sind. Dies liegt daran, dass diese Anmeldeinformationen im Verbindungs-URI als Nur-Text dargestellt werden, was ein Sicherheitsrisiko darstellt. Sie können die AcceptCredentialsInUri-Bindungseigenschaft festlegen, um zu steuern, ob der Verbindungs-URI Anmeldeinformationen für die Oracle-Datenbank enthalten kann. Wenn die AcceptCredentialsInUri-Eigenschaftfalse ist, löst der Oracle Database-Adapter eine Ausnahme aus, wenn der Verbindungs-URI Oracle-Datenbankanmeldeinformationen enthält. Wenn die Eigenschaft true ist, wird keine Ausnahme ausgelöst.

Es gibt einige begrenzte Szenarien, in denen anmeldeinformationen im Verbindungs-URI angegeben werden müssen. Beispielsweise, um den eingehenden POLLINGSTMT-Vorgang zu empfangen, wenn Sie das WCF-Dienstmodell oder das WCF-Kanalmodell verwenden. In den meisten Fällen sollten Sie jedoch die Angabe von Anmeldeinformationen im Verbindungs-URI vermeiden. Weitere Informationen zum sichereren Bereitstellen von Anmeldeinformationen für die Oracle-Datenbank finden Sie unter Schützen Ihrer Oracle Database-Anwendungen.

Wichtig

Aufgrund der Sicherheitsrisiken, die durch die Übergabe von Anmeldeinformationen in Zeichenfolgen als Nur-Text bestehen, sollten Sie die Angabe der Anmeldeinformationen für die Oracle-Datenbankverbindung im Verbindungs-URI vermeiden.

Verwenden reservierter Zeichen im Verbindungs-URI

Der Oracle Database-Adapter unterstützt die Angabe eines Verbindungs-URI mit Sonderzeichen für einen der Parameterwerte nicht. Wenn die Verbindungsparameterwerte Sonderzeichen enthalten, stellen Sie sicher, dass Sie eine der folgenden Aktionen ausführen:

  • Wenn Sie den URI in Visual Studio mithilfe des Adapterdienstverweis-Plug-Ins hinzufügen oder Das Adapterdienst-Add-In nutzen angeben, müssen Sie ihn auf der Registerkarte URI-Eigenschaften angeben, d. h. ohne Escapezeichen. Wenn Sie den URI direkt im Feld URI konfigurieren angeben und die Verbindungsparameter reservierte Zeichen enthalten, müssen Sie die Verbindungsparameter mit geeigneten Escapezeichen angeben.

  • Wenn Sie den URI beim Erstellen eines Sende- oder Empfangsports in BizTalk Server Verwaltungskonsole angeben und die Verbindungsparameter reservierte Zeichen enthalten, müssen Sie die Verbindungsparameter mit geeigneten Escapezeichen angeben.

Verwenden des Verbindungs-URI zum Herstellen einer Verbindung mit der Oracle-Datenbank

Im Folgenden finden Sie ein Beispiel für einen Verbindungs-URI für den Oracle Database-Adapter.

Verwenden von tnsnames.ora Ohne Verwendung von tnsnames.ora
oracledb://ADAPTER

In diesem Beispiel ist ADAPTER ein Netzdienstname, der dem DIENSTNAMEN und den Verbindungsinformationen für die Oracle-Zieldatenbank in tnsnames.ora zugeordnet ist.
oracledb://yourOracleServer:1521/yourOracleDatabaseServiceName/Dedicated

In diesem Beispiel lautet der Servername "yourOracleServer" und der Dienstname "yourOracleDatabaseServiceName".

Im Folgenden finden Sie ein Beispiel für einen Verbindungs-URI für einen POLLINGSTMT-Vorgang. Dieser URI enthält einen PollingId-Parameter, um den Namespace des POLLINGSTMT-Vorgangs zu ändern.

Verwenden von tnsnames.ora Ohne Verwendung von tnsnames.ora
oracledb://ADAPTER?PollingId=MyPollingNotification1 oracledb://yourOracleServer:1521/yourOracleDatabaseServiceName/Dedicated? PollingId=MyPollingNotification1

Für die oben genannten Verbindungs-URIs erstellt der Oracle Database-Adapter den folgenden Namespace für den POLLINGSTMT-Vorgang.

http://Microsoft.LobServices.OracleDB/2007/03/POLLINGSTMTMyPollingNotification1  

Informationen zum Herstellen einer Verbindung mit der Oracle-Datenbank finden Sie in folgenden Fällen:

Weitere Informationen

Herstellen einer Verbindung zur Oracle-Datenbank
Konfigurieren des Oracle-Clients für den Oracle Database-Adapter