Condividi tramite


Creare l'URI di connessione di Oracle Database

L'URI di connessione di Microsoft BizTalk per Oracle Database contiene proprietà usate dall'adapter per stabilire una connessione al database Oracle. In questo argomento vengono fornite informazioni su come specificare l'URI di connessione per connettersi al database Oracle usando tnsnames.ora e senza usare tnsnames.ora. Fornisce anche informazioni sull'uso dell'URI di connessione per connettersi al database Oracle.

URI di connessione a Connetti al database Oracle usando tnsnames.ora

Importante

  • Per questo approccio, è necessario aggiungere la voce del nome del servizio net nel file tnsnames.ora nel computer con il client dell'adapter installato. Per altre informazioni sulla voce del nome del servizio net, vedere Configurare Oracle Client per l'adapter Oracle Database.
  • A causa di una limitazione di Oracle Client, il parametro DataSourceName (nome servizio net) nell'URI di connessione non può contenere più di 39 caratteri se si eseguono operazioni in una transazione. Assicurarsi pertanto che il valore specificato per il parametro DataSourceName sia minore o uguale a 39 caratteri se si eseguiranno operazioni in una transazione.

Un URI di indirizzo endpoint tipico in WCF è rappresentato come: , dove: scheme://userauthparams@hostinfoparams?query_string

  • scheme è il nome dello schema.
  • userauthparams è una raccolta nome-valore dei parametri necessari per l'autenticazione utente dall'endpoint.
  • hostinfoparams informazioni necessarie per stabilire la connessione all'host; ad esempio un percorso.
  • query_string è una raccolta facoltativa nome-valore dei parametri delimitata da un punto interrogativo (?).

L'URI di connessione della scheda di database Oracle rispetta questo formato di base e viene implementato come segue:

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

In alternativa, in scenari più avanzati:

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

Nella tabella seguente vengono illustrate le proprietà contenute nell'URI di connessione:

Proprietà URI connessione Category Descrizione
[USER_NAME] userauthparams Nome utente da usare per l'autenticazione nel database Oracle, ad esempio SCOTT. È necessario impostare la proprietà di associazione AcceptCredentialsInUri su true per specificare il nome utente e la password nell'URI di connessione. La proprietà di associazione AcceptCredentialsInUri non è disponibile nella scheda Binding BizTalk Server.

Nota L'adapter Oracle Database mantiene il caso del valore immesso per il nome utente quando apre una connessione nel database Oracle. I nomi utente nel database Oracle sono distinzione tra maiuscole e minuscole. È necessario assicurarsi di fornire nomi utente Oracle all'adapter Oracle Database nel caso previsto dal database Oracle. In genere, questo significa che il nome utente nella credenziale SCOTT/TIGER deve essere maiuscolo: "SCOTT".
[PASSWORD] userauthparams Password da usare per l'autenticazione nel database Oracle, ad esempio TIGER. È necessario impostare la proprietà di associazione AcceptCredentialsInUri su true per specificare il nome utente e la password nell'URI di connessione. La proprietà di associazione AcceptCredentialsInUri non è disponibile nella scheda Binding BizTalk Server.

Nota L'adapter Oracle Database mantiene il caso del valore immesso per la password quando apre una connessione nel database Oracle. Nella versione 10g e nelle versioni precedenti del sistema Oracle, questa distinzione non viene applicata alle password.
[NET_SERVICE_NAME] hostinfoparams Nome del servizio net specificato nel file tnsnames.ora nel computer in cui è installata l'adapter Oracle Database. Per altre informazioni sui nomi di servizio net e tnsnames.ora, vedere Configurare Oracle Client per l'adapter Oracle Database.
[POLLING_ID] query_string Stringa facoltativa che deve essere aggiunta dall'adapter allo spazio dei nomi standard dell'operazione POLLINGSTMT. Ciò consente di specificare uno spazio dei nomi univoco per ogni operazione di polling quando un progetto contiene più operazioni di polling. Non è necessario specificare una stringa PollingId se il progetto contiene solo un'operazione POLLINGSTMT.

Nota

I parametri di query vengono usati anche nell'URI di connessione quando viene specificato un indirizzo endpoint per un client di Exchange metadati WCF.

URI di connessione a Connetti al database Oracle senza usare tnsnames.ora

Importante

  • Per questo approccio, il nome del servizio net nel file tnsnames.ora o il file tnsnames.ora effettivo non deve essere presente nel computer client.
  • Questa modalità di connettività non è supportata se si eseguono operazioni in una transazione. Questo è dovuto a una limitazione di Oracle Client.

Un URI di indirizzo endpoint tipico in WCF è rappresentato come: , dove: scheme://userauthparams@hostinfoparams?query_string

  • scheme è il nome dello schema.
  • userauthparams è una raccolta nome-valore dei parametri necessari per l'autenticazione utente dall'endpoint.
  • hostinfoparams informazioni necessarie per stabilire la connessione all'host; ad esempio, nome del server, numero di porta e così via.
  • query_string è una raccolta facoltativa nome-valore dei parametri delimitata da un punto interrogativo (?).

L'URI di connessione della scheda di database Oracle rispetta questo formato di base e viene implementato come segue:

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

In alternativa, in scenari più avanzati:

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

Nella tabella seguente vengono illustrate le proprietà contenute nell'URI di connessione:

Proprietà URI connessione Category Descrizione
[USER_NAME] userauthparams Nome utente da usare per l'autenticazione nel database Oracle; ad esempio SCOTT. È necessario impostare la proprietà di associazione AcceptCredentialsInUri su true per specificare il nome utente e la password nell'URI di connessione. La proprietà di associazione AcceptCredentialsInUri non è disponibile nella scheda Binding BizTalk Server.

Nota L'adapter Oracle Database mantiene il caso del valore immesso per il nome utente quando apre una connessione nel database Oracle. I nomi utente nel database Oracle sono distinzione tra maiuscole e minuscole. È necessario assicurarsi di fornire nomi utente Oracle all'adapter Oracle Database nel caso previsto dal database Oracle. In genere, questo significa che il nome utente nella credenziale SCOTT/TIGER deve essere maiuscolo: "SCOTT".
[PASSWORD] userauthparams Password da usare per l'autenticazione nel database Oracle; ad esempio TIGER. È necessario impostare la proprietà di associazione AcceptCredentialsInUri su true per specificare il nome utente e la password nell'URI di connessione. La proprietà di associazione AcceptCredentialsInUri non è disponibile nella scheda Binding BizTalk Server.

Nota L'adapter Oracle Database mantiene il caso del valore immesso per la password quando apre una connessione nel database Oracle. Nella versione 10g e nelle versioni precedenti del sistema Oracle, questa distinzione non viene applicata alle password.
[SERVER_ADDRESS] hostinfoparams Nome o indirizzo IP del server in cui è in esecuzione il database Oracle. Questo è obbligatorio se si usa questo tipo di connettività.
[PORT_NUMBER] hostinfoparams Porta del listener Oracle Net. Se non viene specificato alcun valore, l'adapter accetta il valore predefinito 1521.
[SERVICE_NAME] hostinfoparams Nome del servizio database Oracle. Questo è obbligatorio se si usa questo tipo di connettività.
[SERVICE_TYPE] hostinfoparams Tipo di servizio Oracle. I valori possibili sono Dedicati o Condivisi. Un servizio dedicato usa un processo server dedicato per servire un solo processo utente. Un servizio condiviso usa un processo server condiviso che può servire più processi utente. L'impostazione predefinita è Dedicated.
[POLLING_ID] query_string Stringa facoltativa che deve essere aggiunta dall'adapter allo spazio dei nomi standard dell'operazione POLLINGSTMT. Ciò consente di specificare uno spazio dei nomi univoco per ogni operazione di polling quando un progetto contiene più operazioni di polling. Non è necessario specificare una stringa PollingId se il progetto contiene solo un'operazione POLLINGSTMT.

Nota

I parametri di query vengono usati anche nell'URI di connessione quando viene specificato un indirizzo endpoint per un client di Exchange metadati WCF.

Credenziali del database Oracle e URI di connessione

Per impostazione predefinita, l'adapter Di database Oracle genera un'eccezione quando le credenziali del database Oracle vengono specificate nell'URI di connessione. Ciò avviee perché queste credenziali sono rappresentate come testo normale nell'URI di connessione e ciò comporta un rischio di sicurezza. È possibile impostare la proprietà di associazione AcceptCredentialsInUri per controllare se l'URI di connessione può contenere credenziali per il database Oracle. Se la proprietà AcceptCredentialsInUri è false, l'adapter Oracle Database genera un'eccezione se l'URI di connessione contiene le credenziali del database Oracle; se la proprietà è true, non viene generata alcuna eccezione.

Esistono alcuni scenari limitati in cui è necessario specificare le credenziali nell'URI di connessione. Ad esempio, per ricevere l'operazione POLLINGSTMT in ingresso quando si usa il modello di servizio WCF o il modello di canale WCF. Per la maggior parte delle situazioni, tuttavia, è consigliabile evitare di fornire credenziali nell'URI di connessione. Per altre informazioni su come fornire in modo più sicuro le credenziali per il database Oracle, vedere Proteggere le applicazioni Oracle Database.

Importante

A causa dei rischi di sicurezza rappresentati passando le credenziali nelle stringhe come testo normale, è consigliabile evitare di specificare le credenziali di connessione del database Oracle nell'URI di connessione.

Uso di caratteri riservati nell'URI di connessione

L'adapter Oracle Database non supporta la specifica di un URI di connessione con caratteri speciali per uno dei valori dei parametri. Se i valori dei parametri di connessione contengono caratteri speciali, assicurarsi di eseguire una delle operazioni seguenti:

  • Se si specifica l'URI in Visual Studio usando il plug-in Add Adapter Service Reference o Il componente aggiuntivo Del servizio adapter, è necessario specificarli come è nella scheda Proprietà URI , ovvero senza usare alcun carattere di escape. Se si specifica l'URI direttamente nel campo Configura un URI e i parametri di connessione contengono caratteri riservati, è necessario specificare i parametri di connessione usando caratteri di escape appropriati.

  • Se si specifica l'URI durante la creazione di una porta di invio o ricezione in BizTalk Server console di amministrazione e i parametri di connessione contengono caratteri riservati, è necessario specificare i parametri di connessione usando caratteri di escape appropriati.

Uso dell'URI di connessione per connettersi al database Oracle

Di seguito è riportato un esempio di URI di connessione per l'adapter Oracle Database.

Uso di tnsnames.ora Senza usare tnsnames.ora
oracledb://ADAPTER

In questo esempio ADAPTER è un nome di servizio net associato al NOME DEL SERVIZIO e alle informazioni di connessione per il database Oracle di destinazione in tnsnames.ora.
oracledb://yourOracleServer:1521/yourOracleDatabaseServiceName/Dedicated

In questo esempio il nome del server è "yourOracleServer" e il nome del servizio è "yourOracleDatabaseServiceName".

Di seguito è riportato un esempio di URI di connessione per un'operazione POLLINGSTMT. Questo URI include un parametro PollingId per modificare lo spazio dei nomi dell'operazione POLLINGSTMT.

Uso di tnsnames.ora Senza usare tnsnames.ora
oracledb://ADAPTER?PollingId=MyPollingNotification1 oracledb://yourOracleServer:1521/yourOracleDatabaseServiceName/Dedicated? PollingId=MyPollingNotification1

Per gli URI di connessione precedenti, l'adapter Oracle Database crea lo spazio dei nomi seguente per l'operazione POLLINGSTMT.

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

Per informazioni su come stabilire una connessione al database Oracle quando si:

Vedere anche

Creare una connessione al database Oracle
Configurare Oracle Client per l'adapter Oracle Database