Nota
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Puede usar el adaptador de SQL con BizTalk Server para invocar funciones con valores de tabla en SQL Server. El adaptador expone las funciones con valores de tabla como operaciones que se pueden invocar directamente en SQL Server. Para obtener más información sobre cómo el adaptador admite funciones con valores de tabla, vea Ejecución de funciones de Table-Valued en SQL Server mediante el adaptador de SQL. Para obtener información sobre la estructura del mensaje SOAP para invocar funciones con valores de tabla, vea Esquemas de mensajes para procedimientos y funciones.
Prerrequisitos
Cree un archivo de clave de nombre seguro y aprenda las herramientas
Configure MSDTC en equipos que ejecutan el adaptador de SQL y SQL Server.
Invocar funciones con valores de tabla en una base de datos de SQL Server
Realizar una operación en una base de datos de SQL Server mediante el adaptador de SQL con BizTalk Server implica tareas de procedimientos descritas en Bloques de creación para desarrollar aplicaciones de BizTalk con el adaptador de SQL. Para invocar funciones con valores de tabla en SQL Server, estas tareas son:
Cree un proyecto de BizTalk y genere esquema para la función con valores de tabla que desea invocar en SQL Server.
Cree mensajes en el proyecto de BizTalk para enviar y recibir mensajes de SQL Server.
Cree una orquestación para invocar la operación en SQL Server.
Compile e implemente el proyecto de BizTalk.
Configure la aplicación de BizTalk mediante la creación de puertos de envío y recepción físicos.
Inicie la aplicación de BizTalk.
En este tema se proporcionan instrucciones para realizar estas tareas.
Generar esquema
En este tema se muestra cómo invocar funciones con valores de tabla en SQL Server mediante el adaptador de SQL con BizTalk Server. Para demostrar esta operación, en este tema se ejecuta la función TVF_EMPLOYEE. Esta función toma la designación de un empleado como parámetro y devuelve todos los registros de empleados con esa designación, como un tipo de tabla. La tabla Employee y la función se crean ejecutando los scripts proporcionados con los ejemplos. Para obtener más información sobre el script, vea Ejemplos para el adaptador de SQL.
Para demostrar cómo invocar funciones con valores de tabla, se genera el esquema para la función con valores de tabla TVF_EMPLOYEE. Debe crear un proyecto de BizTalk y usar el complemento de Consumo de Servicio de Adaptador para generar el esquema. Consulte Recuperación de metadatos para operaciones de SQL Server en Visual Studio mediante el adaptador de SQL para obtener más información sobre cómo generar esquemas.
Definir mensajes y tipos de mensajes
El esquema que generó anteriormente describe los "tipos" necesarios para los mensajes de la orquestación. Normalmente, un mensaje es una variable, el tipo definido por el esquema correspondiente. Ahora, cree mensajes para la orquestación y vincúlelos a esquemas generados en el paso anterior.
Agregue una orquestación al proyecto de BizTalk. En el Explorador de soluciones, haga clic con el botón derecho en el nombre del proyecto de BizTalk, seleccione Agregar y, a continuación, haga clic en Nuevo elemento. Escriba un nombre para la orquestación de BizTalk y haga clic en Agregar.
Abra la ventana Vista de orquestación del proyecto de BizTalk, si aún no está abierta. Para ello, haga clic en Ver, seleccione Otras ventanas y, a continuación, haga clic en Vista de orquestación.
En la vista orquestación, haga clic con el botón derecho en Mensajes y, a continuación, haga clic en Nuevo mensaje.
Haga clic con el botón derecho en el mensaje recién creado y, a continuación, seleccione Ventana Propiedades.
En el panel Propiedades del Message_1, haga lo siguiente:
Usa esto Para Identificador Escriba Request
Tipo de mensaje En la lista desplegable, expanda Esquemas y, a continuación, seleccione TableFunctions.TableValuedFunction_dbo. TVF_EMPLOYEE, donde TableFunctions es el nombre del proyecto de BizTalk. TableValuedFunction_dbo es el esquema generado para la función TVF_EMPLOYEE. Repita el paso 2 para crear un nuevo mensaje. En el panel Propiedades del nuevo mensaje, haga lo siguiente:
Usa esto Para Identificador Escriba Response
Tipo de mensaje En la lista desplegable, expanda Esquemas y, a continuación, seleccione TableFunctions.TableValuedFunction_dbo. TVF_EMPLOYEEResponse.
Configuración de la orquestación
Cree una orquestación de BizTalk para usar BizTalk Server para realizar una operación en SQL Server. En esta orquestación, se deja un mensaje de solicitud en una ubicación de recepción definida. El adaptador de SQL consume este mensaje y lo pasa a SQL Server. La respuesta de SQL Server se guarda en otra ubicación. Debe incluir formas enviar y recibir para enviar mensajes a SQL Server y recibir respuestas, respectivamente. Una orquestación de ejemplo para invocar una función con valores de tabla es similar a la siguiente:
Agregar formas de mensaje
Escriba las siguientes propiedades para cada una de las formas de mensaje. Los nombres enumerados en la columna Shape son los nombres de las formas de mensaje tal como se muestran en la orquestación recién mencionada.
Forma | Tipo de forma | Propiedades |
---|---|---|
RecibirMensaje | Recibir | - Establecer nombre en ReceiveMessage - Establecer Activar en True |
EnviarMensaje | Enviar | - Establecer nombre en SendMessage |
RecibirRespuesta | Recibir | - Establecer Name en ReceiveResponse - Establecer Activar en False |
SendResponse | Enviar | - Establecer nombre en SendResponse |
Agregar puertos
Escriba las siguientes propiedades para cada uno de los puertos lógicos. Los nombres enumerados en la columna Puerto son los nombres de los puertos tal como aparecen en la orquestación.
Puerto | Propiedades |
---|---|
MessageIn | - Establecer identificador en MessageIn - Configura el tipo en MessageInType - Establecer el patrón de comunicación en unidireccional - Establecer la dirección de comunicación para recibir |
LOBPort | - Establecer identificador en LOBPort - Establecer el tipo en LOBPortType - Establecer el patrón de comunicación en Request-Response - Establecer la dirección de comunicación en enviar y recibir |
ResponseOut | - Establecer identificador en ResponseOut - Establecer el tipo en ResponseOutType - Establecer el patrón de comunicación en unidireccional - Establecer la dirección de comunicación en Enviar |
Escriba mensajes para formas de acción y conéctelos a puertos.
En la tabla siguiente se especifican las propiedades y sus valores que se deben establecer para especificar mensajes para las formas de acción y para vincular los mensajes a los puertos. Los nombres enumerados en la columna Shape son los nombres de las formas de mensaje tal como se muestran en la orquestación mencionada anteriormente.
Forma | Propiedades |
---|---|
RecibirMensaje | - Establecer mensaje en solicitud - Establecer Operación en MessageIn.TVF.Request |
EnviarMensaje | - Establecer mensaje en solicitud - Establecer Operación en LOBPort.TVF.Request |
RecibirRespuesta | - Establecer mensaje en respuesta - Establecer Operación en LOBPort.TVF.Response |
SendResponse | - Establecer mensaje en respuesta - Establecer Operación en ResponseOut.TVF.Request |
Después de especificar estas propiedades, las formas de mensaje y los puertos están conectados y la orquestación se completa.
Ahora, compile la solución de BizTalk e impleméntela en BizTalk Server. Para obtener más información, vea Compilar y ejecutar orquestaciones.
Configurar la aplicación de BizTalk
Después de implementar el proyecto de BizTalk, la orquestación que creó anteriormente aparece en el panel Orquestaciones de la consola de administración de BizTalk Server. Debe usar la consola de administración de BizTalk Server para configurar la aplicación. Para ver un tutorial, consulte Tutorial: Implementación de una aplicación básica de BizTalk.
La configuración de una aplicación implica:
Selección de un host para la aplicación.
Asignación de los puertos que creó en la orquestación a puertos físicos en la consola de administración de BizTalk Server. Para esta orquestación, debes:
Defina una ubicación en el disco duro y un puerto de archivo correspondiente donde dejará un mensaje de solicitud. La orquestación de BizTalk consumirá el mensaje de solicitud y lo enviará a la base de datos de SQL Server.
Defina una ubicación en el disco duro y un puerto de archivo correspondiente donde la orquestación de BizTalk depositará el mensaje de respuesta que contiene la respuesta de la base de datos SQL Server.
Defina una WCF-Custom física o WCF-SQL puerto de envío para enviar mensajes a la base de datos de SQL Server. También debe especificar la acción en el puerto de envío. Para obtener información sobre cómo crear puertos, consulte Configuración manual de un enlace de puerto físico al adaptador de SQL.
Nota:
La generación del esquema mediante el complemento "Consume Adapter Service BizTalk Project" también crea un archivo de vinculación que contiene información sobre los puertos y las acciones a configurar para esos puertos. Puede importar este archivo de enlace desde la consola de administración de BizTalk Server para crear puertos de envío (para llamadas salientes) o puertos de recepción (para llamadas entrantes). Para obtener más información, consulte Configuración de un enlace de puerto físico mediante un archivo de enlace de puertos para usar el adaptador de SQL.
Iniciar la aplicación
Inicie la aplicación de BizTalk para invocar funciones con valores de tabla en la base de datos de SQL Server. Para obtener instrucciones sobre cómo iniciar una aplicación de BizTalk, vea Cómo iniciar una orquestación.
En esta fase, asegúrese de:
El puerto de recepción FILE para recibir mensajes de solicitud para la orquestación está en funcionamiento.
El puerto de envío "FILE" para recibir los mensajes de respuesta de la orquestación está en funcionamiento.
El puerto de envío WCF-Custom o WCF-SQL para enviar mensajes a la base de datos SQL Server está en funcionamiento.
La orquestación de BizTalk para la operación se está ejecutando.
Ejecutar la operación
Después de ejecutar la aplicación, debe dejar caer un mensaje de solicitud en la ubicación de recepción de archivos FILE. El esquema del mensaje de solicitud debe ajustarse al esquema de la función con valores de tabla TVF_EMPLOYEE que generó anteriormente. Por ejemplo, el mensaje de solicitud para invocar la función TVF_EMPLOYEE es:
<TVF_EMPLOYEE xmlns="http://schemas.microsoft.com/Sql/2008/05/TableValuedFunctions/dbo">
<emp_desig>Tester</emp_desig>
</TVF_EMPLOYEE>
Este mensaje de solicitud invoca la función TVF_EMPLOYEE para recuperar los registros de empleados que tienen la designación como "Evaluador". Consulte Esquemas de mensajes para procedimientos y funciones para obtener más información sobre el esquema de mensajes de solicitud para invocar funciones con valores de tabla en SQL Server mediante el adaptador de SQL.
Nota:
Si no especifica un valor para el parámetro, el adaptador ejecuta internamente la función mediante la palabra clave DEFAULT, lo que significa que el adaptador ejecuta la función pasando el valor predeterminado para el parámetro, si está disponible como parte de la definición de función.
La orquestación consume el mensaje y lo envía a la base de datos de SQL Server. La respuesta de la base de datos de SQL Server se guarda en la otra ubicación FILE definida como parte de la orquestación. Por ejemplo, la respuesta de la base de datos de SQL Server para el mensaje de solicitud anterior es:
<?xml version="1.0" encoding="utf-8" ?>
<TVF_EMPLOYEEResponse xmlns="http://schemas.microsoft.com/Sql/2008/05/TableValuedFunctions/dbo">
<TVF_EMPLOYEEResult>
<TVF_EMPLOYEE xmlns="http://schemas.microsoft.com/Sql/2008/05/Types/TableFunctionReturnTables/dbo">
<Employee_ID>10499</Employee_ID>
<Name>John</Name>
<Designation>Tester</Designation>
<Salary>999999.00</Salary>
<Last_Modified>AAAAAAAAJBM=</Last_Modified>
</TVF_EMPLOYEE>
<TVF_EMPLOYEE xmlns="http://schemas.microsoft.com/Sql/2008/05/Types/TableFunctionReturnTables/dbo">
......
......
</TVF_EMPLOYEE>
......
......
</TVF_EMPLOYEEResult>
</TVF_EMPLOYEEResponse>
Procedimientos recomendados
Después de implementar y configurar el proyecto de BizTalk, puede exportar los valores de configuración a un archivo XML denominado archivo de enlace. Una vez que genere un archivo de enlace, puede importar los valores de configuración del archivo, de modo que no sea necesario crear elementos como los puertos de envío y recibir puertos para la misma orquestación. Para obtener más información sobre la vinculación de archivos, consulte Reutilización de vínculos de adaptador.
Véase también
Desarrollo de aplicaciones de BizTalk mediante el adaptador de SQL