Compartir a través de


Información general sobre el modelo de servicio WCF con el adaptador de SQL

El adaptador de Microsoft BizTalk para SQL Server expone una operación de SQL Server como un servicio WCF. Para realizar operaciones en SQL Server artefactos, por ejemplo, para invocar un procedimiento almacenado, se invoca una operación en el adaptador, que, a su vez, realiza la operación en el SQL Server. Por lo tanto, el código actúa como un cliente para el servicio WCF presentado por el adaptador.

En el modelo de servicio de Windows Communication Foundation (WCF), el contrato de servicio que existe entre un cliente y un servicio se representa como una interfaz .NET y las operaciones se representan como métodos en esta interfaz. El adaptador de SQL y WCF proporcionan herramientas que permiten generar esta interfaz para las operaciones de destino a partir de los metadatos que expone el adaptador. Estas herramientas también crean una clase de cliente WCF que se puede usar para invocar las operaciones expuestas en la interfaz de servicio. Una aplicación cliente puede llamar a los métodos de la clase de cliente WCF para invocar operaciones en el adaptador. Para implementar un servicio para recibir operaciones entrantes del adaptador de SQL, implemente la interfaz generada para las operaciones entrantes.

En la sección siguiente se explica cómo usar el modelo de servicio WCF para invocar operaciones con un cliente WCF.

Invocar operaciones en el SQL Server con un cliente WCF

Para usar el modelo de servicio WCF para invocar operaciones en el adaptador de SQL, primero debe generar una clase de cliente WCF para las operaciones de destino. A continuación, puede crear una instancia de esta clase, un cliente WCF y llamar a sus métodos para realizar estas operaciones en el sistema SQL Server. En esta sección se proporciona un esquema del aspecto de una aplicación cliente de adaptador de .NET típica. En temas específicos se proporcionan explicaciones detalladas sobre cómo realizar diferentes operaciones en la base de datos de SQL Server mediante el adaptador.

Para invocar operaciones en el adaptador de SQL

  1. Genere una clase de cliente WCF y un código auxiliar. Use el complemento Agregar referencia de servicio de adaptador de Visual Studio para generar una clase de cliente WCF destinada a los artefactos de base de datos de SQL Server con los que desea trabajar. Para obtener más información sobre cómo generar un cliente WCF, vea Generar un cliente WCF o un contrato de servicio WCF para SQL Server Artefactos.

  2. Cree una instancia de cliente WCF y configure el cliente WCF. La configuración del cliente WCF implica especificar el enlace y la dirección del punto de conexión (URI de conexión) que usará el cliente. Puede hacerlo de forma imperativa en el código o mediante declaración en la configuración. El código siguiente crea un cliente WCF que tiene como destino la operación Select en la tabla Employee de una base de datos SQL Server. También establece las credenciales de la base de datos de SQL Server. El cliente WCF se inicializa a partir de la configuración.

    TableOp_dbo_EmployeeClient client = new TableOp_dbo_EmployeeClient("SqlAdapterBinding_TableOp_dbo_Employee"); //picking the binding and address from the app.config  
    
    client.ClientCredentials.UserName.UserName = "myuser";  
    client.ClientCredentials.UserName.Password = "mypassword";  
    

    Nota

    Puede especificar el enlace de cliente y la dirección del punto de conexión en el código o declararla en el archivo de configuración app.config. El fragmento de código anterior usa este último. Para obtener más información sobre cómo usar cualquiera de los enfoques, vea Configurar un enlace de cliente para el adaptador de SQL.

  3. Abra el cliente WCF.

    client.Open();  
    
  4. Invoque métodos en el cliente WCF creado en el paso anterior para realizar una operación Select en la base de datos de SQL Server. El código siguiente invoca el método Select del cliente WCF para invocar la instrucción SELECT en una tabla de base de datos SQL Server.

    client.Select("*", "where [Name] = ‘John Smith’");  
    
  5. Cierre del cliente WCF.

    client.Close();  
    

Consulte también

Desarrollo de aplicaciones SQL mediante el modelo de servicio WCF