Configurare un'associazione client per il database Oracle
Dopo aver generato la classe client WCF, è possibile creare un client WCF (istanza) e richiamare i relativi metodi per usare l'adapter Oracle Database. Per informazioni su come generare la classe client WCF e il codice helper per le operazioni esposte dall'adapter Microsoft BizTalk per Oracle Database, vedere Generare un client WCF o un contratto di servizio WCF per gli artefatti della soluzione di database Oracle.
Per creare il client WCF, è necessario specificare un indirizzo endpoint e un'associazione. L'indirizzo dell'endpoint deve contenere un URI di connessione Oracle valido e l'associazione deve essere un'istanza di un'associazione Oracle DB (OracleDBBinding). Per altre informazioni sull'URI di connessione Oracle, vedere Creare l'URI di connessione al database Oracle. È consigliabile non specificare le credenziali utente come parte dell'URI di connessione. È invece possibile usare la proprietà ClientCredentials del client WCF, come illustrato in questo argomento.
È possibile specificare l'associazione Oracle DB e l'indirizzo dell'endpoint nel codice o in un file di configurazione. Quando si usa il plug-in Add Adapter Service Reference Visual Studio per generare la classe client WCF, viene creato anche un file di configurazione (app.config) per il progetto. Questo file contiene le impostazioni di configurazione che riflettono le proprietà di associazione e le informazioni di connessione (ad eccezione delle credenziali) specificate quando si è connessi al database Oracle con il plug-in Add Adapter Service Reference Plug-in.
Specifica dell'associazione e dell'indirizzo dell'endpoint nel codice
Il codice seguente illustra come creare un client WCF specificando l'indirizzo dell'associazione e dell'endpoint nel codice. È consigliabile specificare le credenziali Oracle usando la proprietà ClientCredentials del client WCF anziché nell'URI di connessione fornito per l'indirizzo dell'endpoint.
// A WCF client that targets the /SCOTT/EMP table is created
// by using a binding object and endpoint address
OracleDBBinding odbBinding = new OracleDBBinding();
EndpointAddress odbAddress = new EndpointAddress("OracleDb://ADAPTER");
SCOTTTableEMPClient empClient = new SCOTTTableEMPClient(odbBinding, odbAddress);
empClient.ClientCredentials.UserName.UserName = "SCOTT";
empClient.ClientCredentials.UserName.Password = "TIGER";
empClient.Open();
Specifica dell'associazione e dell'indirizzo dell'endpoint in un file di configurazione
Il codice seguente illustra come creare un client WCF specificando l'indirizzo dell'associazione e dell'endpoint in un file di app.config.
// A WCF client that targets the /SCOTT/EMP table is created
// by specifying the client endpoint information in app.config
SCOTTTableEMPClient empClient = new SCOTTTableEMPClient("OracleDBBinding_SCOTT.Table.EMP");
empClient.ClientCredentials.UserName.UserName = "SCOTT";
empClient.ClientCredentials.UserName.Password = "TIGER";
empClient.Open();
Il codice XML seguente mostra il file di configurazione creato per la tabella EMP dal plug-in Add Adapter Service Reference Plug-in. Questo file contiene la configurazione dell'endpoint client a cui si fa riferimento nell'esempio precedente.
\<?xml version="1.0" encoding="utf-8"?>
<configuration xmlns="http://schemas.microsoft.com/.NetConfiguration/v2.0">
\<system.serviceModel>
<bindings>
<oracleDBBinding>
<binding name="OracleDBBinding" closeTimeout="00:01:00" openTimeout="00:01:00"
receiveTimeout="00:10:00" sendTimeout="00:01:00"
dataFetchSize="65536" metadataPooling="true" statementCachePurge="false"
statementCacheSize="10" longDatatypeColumnSize="32767" pollingStatement=""
postPollStatement="" pollingInterval="500" useOracleConnectionPool="false"
minPoolSize="1" maxPoolSize="100" incrPoolSize="5" decrPoolSize="1"
connectionLifetime="0" transactionIsolationLevel="ReadCommitted"
enablePerformanceCounters="false" acceptCredentialsInUri="false"
enableBizTalkCompatibilityMode="false" />
</oracleDBBinding>
</bindings>
<client>
<endpoint address="oracledb://adapter/" binding="oracleDBBinding"
bindingConfiguration="OracleDBBinding" contract="SCOTTTableEMP"
name="OracleDBBinding_SCOTT.Table.EMP" />
</client>
\</system.serviceModel>
</configuration>
Se un progetto ha più client WCF, nel file di configurazione verranno definite più voci dell'endpoint client. Ogni voce client WCF avrà un nome univoco in base alla configurazione dell'associazione e all'artefatto del database Oracle di destinazione; ad esempio, "OracleDBBinding_SCOTT. Table.EMP". Se ci si connette più volte per creare i client WCF nel progetto, verranno create più voci di configurazione dell'associazione, una per ogni connessione. Queste voci di configurazione di associazione verranno denominate nel modo seguente: OracleDBBinding1, OracleDBBinding2 e così via. Ogni voce dell'endpoint client creata durante una connessione specifica farà riferimento alla voce di associazione creata durante tale connessione.
Vedere anche
Sviluppare applicazioni di database Oracle usando il modello di servizio WCF
Generare un client WCF o un contratto di servizio WCF per gli artefatti della soluzione di database Oracle
Creare l'URI di connessione del database Oracle
Sviluppare applicazioni di database Oracle usando il modello di canale WCF