Compartir a través de


Configurar un enlace de cliente para el adaptador de SQL

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 Microsoft BizTalk para SQL Server. 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 SQL, vea Generar un cliente WCF o un contrato de servicio WCF para SQL Server Artefactos.

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 SQL válido y el enlace debe ser una instancia de un enlace sql (sqlBinding). Para obtener más información sobre el URI de conexión de SQL, consulte Creación del URI de conexión de SQL Server. Debe especificar las credenciales de usuario como parte del URI de conexión. Puede usar la propiedad ClientCredentials del cliente WCF, como se explica en este tema.

Puede especificar el enlace SQL 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 SQL 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 mediante la propiedad ClientCredentials del cliente WCF.

SqlAdapterBinding binding = new SqlAdapterBinding();  
EndpointAddress sqlAddress = new EndpointAddress("mssql://<sql_server_name>//<database_name>?");  
  
TableOp_dbo_CustomerClient client = new TableOp_dbo_CustomerClient (binding, sqlAddress);  
  
client.ClientCredentials.UserName.UserName = "USER";  
client.ClientCredentials.UserName.Password = "PASSWORD";  
  
client.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.

TableOp_dbo_CustomerClient client = new TableOp_dbo_CustomerClient("SqlAdapterBinding_TableOp_dbo_Customer");  
  
client.ClientCredentials.UserName.UserName = "USER";  
client.ClientCredentials.UserName.Password = "PASSWORD";  
  
client.Open();  

En el siguiente XML se muestra el archivo de configuración creado para la tabla Customer 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>  
            <sqlBinding>  
                <binding name="SqlAdapterBinding" closeTimeout="00:01:00" openTimeout="00:01:00"  
                    receiveTimeout="00:10:00" sendTimeout="00:01:00" maxConnectionPoolSize="100"  
                    encrypt="false" useAmbientTransaction="true" batchSize="20"  
                    polledDataAvailableStatement="" pollingStatement="" pollingIntervalInSeconds="30"  
                    pollWhileDataFound="false" notificationStatement="" notifyOnListenerStart="true"  
                    enableBizTalkCompatibilityMode="true" chunkSize="4194304"  
                    inboundOperationType="Polling" useDatabaseNameInXsdNamespace="false"  
                    allowIdentityInsert="false" enablePerformanceCounters="false"  
                    xmlStoredProcedureRootNodeName="" xmlStoredProcedureRootNodeNamespace="" />  
            </sqlBinding>  
        </bindings>  
        <client>  
            <endpoint address="mssql://<sql_server_name>//<database_name>?" binding="sqlBinding"  
                bindingConfiguration="SqlAdapterBinding" contract="TableOp_dbo_Customer"  
                name="SqlAdapterBinding_TableOp_dbo_Customer" />  
        </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 destino SQL Server artefacto; por ejemplo, "SqlAdapterBinding_TableOp_dbo_Customer". 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: SqlAdapterBinding, SqlAdapterBinding1, 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 SQL mediante el modelo de servicio WCF
Generar un cliente de WCF o un contrato de servicio WCF para artefactos de SQL Server
Creación del URI de conexión de SQL Server