Compartir vía


Configuración de un enlace de cliente para la base de datos de Oracle

Después de generar la clase de cliente WCF, puede crear un cliente WCF (instancia) e invocar sus métodos para consumir el adaptador de base de datos de Oracle. Para obtener información sobre cómo generar la clase de cliente WCF y el código auxiliar para las operaciones que expone el adaptador de Microsoft BizTalk para oracle Database, vea Generar un cliente WCF o un contrato de servicio WCF para artefactos de solución de base de datos de Oracle.

Para crear el cliente WCF, debe especificar una dirección de punto de conexión y un enlace. La dirección del punto de conexión debe contener un URI de conexión de Oracle válido y el enlace debe ser una instancia de un enlace de base de datos de Oracle (OracleDBBinding). Para obtener más información sobre el URI de conexión de Oracle, consulte Creación del URI de conexión de base de datos de Oracle. Se recomienda no especificar las credenciales de usuario como parte del URI de conexión. En su lugar, puede usar la propiedad ClientCredentials del cliente WCF, como se explica en este tema.

Puede especificar el enlace de base de datos de Oracle y la dirección del punto de conexión en el código o en un archivo de configuración. Al usar el complemento Agregar referencia de servicio de adaptador de Visual Studio para generar la clase de cliente WCF, también se crea un archivo de configuración (app.config) para el proyecto. Este archivo contiene opciones de configuración que reflejan las propiedades de enlace y la información de conexión (excepto las credenciales) que especificó al conectarse a la base de datos de Oracle con el complemento Agregar referencia del servicio adaptador.

Especificar el enlace y la dirección del punto de conexión en el código

En el código siguiente se muestra cómo crear un cliente WCF especificando el enlace y la dirección del punto de conexión en el código. Es recomendable especificar las credenciales de Oracle mediante la propiedad ClientCredentials del cliente WCF en lugar de en el URI de conexión proporcionado para la dirección del punto de conexión.

// 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();  

Especificar el enlace y la dirección del punto de conexión en un archivo de configuración

En el código siguiente se muestra cómo crear un cliente WCF especificando el enlace y la dirección del punto de conexión en un archivo 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();  

El siguiente XML muestra el archivo de configuración creado para la tabla EMP por el complemento Agregar referencia del servicio adaptador. Este archivo contiene la configuración del punto de conexión de cliente a la que se hace referencia en el ejemplo anterior.

\<?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>  

Si un proyecto tiene más de un cliente WCF, habrá varias entradas de punto de conexión de cliente definidas en el archivo de configuración. Cada entrada de cliente WCF tendrá un nombre único basado en su configuración de enlace y artefacto de base de datos de Oracle de destino; por ejemplo, "OracleDBBinding_SCOTT. Table.EMP". Si se conecta varias veces para crear los clientes WCF en el proyecto, se crearán varias entradas de configuración de enlace, una para cada conexión. Estas entradas de configuración de enlace se denominarán de la siguiente manera: OracleDBBinding1, OracleDBBinding2, etc. Cada entrada de punto de conexión de cliente creada durante una conexión específica hará referencia a la entrada de enlace creada durante esa conexión.

Consulte también

Desarrollo de aplicaciones de base de datos de Oracle mediante el modelo de servicio WCF
Generar un cliente WCF o un contrato de servicio WCF para artefactos de la solución de base de datos de Oracle
Creación del URI de conexión de base de datos de Oracle
Desarrollo de aplicaciones de base de datos de Oracle mediante el modelo de canal WCF