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.
El adaptador de Microsoft BizTalk para SQL Server permite a los clientes adaptadores recibir mensajes de cambio de datos de la base de datos de SQL Server. El adaptador de SQL admite la recepción de mensajes "basados en sondeo", donde el adaptador ejecuta una instrucción SQL especificada (instrucción SELECT o procedimiento almacenado), recupera o actualiza los datos y proporciona el resultado al cliente del adaptador a intervalos regulares de tiempo.
El adaptador de SQL expone las siguientes operaciones para sondear:
Sondeo: permite recibir mensajes periódicos de cambio de datos para tablas o vistas de SQL Server. Los mensajes no están estrictamente tipados.
TypedPolling: permite recibir mensajes fuertemente tipados desde la base de datos de SQL Server. Debe usar esta operación si piensa asignar los elementos del mensaje de sondeo a cualquier otro esquema.
XmlPolling. Permite usar instrucciones SELECT o procedimientos almacenados que usan una cláusula FOR XML y devuelven datos como mensajes XML. Esta operación devuelve el mensaje de sondeo como un mensaje XML.
Para obtener más información sobre la cláusula FOR XML, vea https://go.microsoft.com/fwlink/?LinkId=131402.
Para obtener más información sobre el sondeo del adaptador SQL, vea Recibir mensajes de cambio de datos basados en sondeo de SQL Server mediante BizTalk Server.
Encuesta
Una operación de sondeo típica mediante el adaptador de SQL implica lo siguiente:
Los clientes del adaptador deben especificar
Polling
como la operación de entrada en la propiedad de enlace InboundOperationType . El valor predeterminado de esta propiedad de enlace esPolling
.Los clientes del adaptador deben especificar una instrucción SQL para la propiedad de enlace PolledDataAvailableStatement que determina si hay datos disponibles para el sondeo. La primera columna de la primera fila del primer conjunto de resultados devuelto al ejecutar esta instrucción contiene un valor entero. Si no hay datos disponibles para el sondeo, el valor devuelto es 0 (cero). Si hay datos disponibles, el valor devuelto es mayor que cero.
Los clientes del adaptador deben especificar un intervalo de sondeo para la propiedad de enlace PollingIntervalInSeconds para definir el intervalo en el que se ejecuta la instrucción en la propiedad de enlace PolledDataAvailableStatement . Al final de cada intervalo de sondeo, se ejecuta la instrucción de datos disponibles de sondeo y se devuelve el conjunto de resultados.
Los clientes del adaptador deben especificar una instrucción SQL de sondeo (instrucción SELECT o procedimiento almacenado) para la propiedad de enlace PollingStatement . Si hay datos disponibles para el sondeo (determinado por la propiedad de enlace PolledDataAvailableStatement ), el adaptador ejecuta la instrucción de sondeo para obtener y actualizar (si procede) los datos de la base de datos de SQL Server. Cuando el adaptador de SQL se usa con BizTalk Server, la misma transacción también se usa para enviar el mensaje a BizTalk Server.
Los clientes del adaptador pueden usar la propiedad de enlace PollWhileDataFound para omitir el intervalo de sondeo y sondear continuamente los datos, como y cuando estén disponibles.
Los conjuntos de resultados que se devuelven como resultado de ejecutar la instrucción de sondeo se envían al cliente del adaptador como mensaje entrante.
Nota:
Cuando UseAmbientTransaction se establece en False, no se llama a PolledDataAvailableStatement . En su lugar, el adaptador llama directamente a PollingStatement.
Nota:
Una operación XmlPolling implica los mismos pasos que la operación de sondeo.
sondeo de Strongly-Typed
Una operación de sondeo fuertemente tipada típica mediante el adaptador de SQL implica lo siguiente:
Los clientes del adaptador deben especificar
TypedPolling
como la operación de entrada en la propiedad de enlace InboundOperationType . El valor predeterminado de esta propiedad de enlace esPolling
.Los clientes del adaptador deben especificar un identificador de entrada como parte del URI de conexión. El identificador de entrada puede ser cualquier cadena y se anexa al espacio de nombres estándar de la operación TypedPolling para evitar conflictos de espacio de nombres.
El resto de los pasos son los mismos que los pasos 2 a 6 enumerados en la operación de sondeo descrita en la sección anterior.
Para obtener información detallada sobre las propiedades de enlace relacionadas con el sondeo y el sondeo fuertemente tipado, consulte Leer sobre las propiedades de enlace del adaptador de BizTalk para SQL Server.
Nota:
Se pueden devolver varios conjuntos de resultados como resultado de ejecutar la instrucción de sondeo. Si los conjuntos de resultados no contienen ninguna fila, no se envía ningún mensaje al cliente del adaptador.
En la ilustración siguiente se proporciona información sobre el flujo de trabajo de sondeo en el adaptador de SQL. Se muestran dos escenarios para el flujo de trabajo de sondeo:
Cuando el valor de PollWhileDataFound se establece en "False" (valor predeterminado).
Cuando el valor de PollWhileDataFound se establece en "True".
Flujo de trabajo de sondeo
Diferencias entre el sondeo y la notificación de consulta
Aunque el sondeo y la notificación de consulta son operaciones entrantes e informan a los clientes del adaptador sobre los cambios de datos en la base de datos de SQL Server, en la tabla siguiente se enumeran algunas diferencias entre los dos. Las siguientes diferencias le ayudarán a decidir una operación en función de sus requisitos:
Encuesta | Notificación de consulta |
---|---|
El adaptador inicia el sondeo. El adaptador ejecuta una instrucción para validar si los datos están disponibles para el sondeo y, a continuación, inicia el sondeo ejecutando la instrucción de sondeo si algunos datos están disponibles para el sondeo. | SQL Server inicia la notificación de consulta. La instrucción de notificación emitida por el adaptador simplemente indica a la base de datos que inicie la notificación en caso de que haya un cambio en el conjunto de resultados de la instrucción. |
Puede usar la instrucción de sondeo para leer o actualizar datos en una tabla de base de datos de SQL Server. | Puede usar la instrucción de notificación de consulta para leer solo los datos de una tabla de base de datos de SQL Server. |
El sondeo le informa sobre los datos reales que han cambiado. | La notificación de consulta solo informa sobre el tipo de cambio en los datos, como Insertar, Actualizar y Eliminar. |
La notificación de cambio de datos depende del intervalo de sondeo y los clientes del adaptador se informan sobre los cambios de datos al final de cada intervalo de sondeo. Consejo: El sondeo puede proporcionar un mejor rendimiento en escenarios en los que los cambios de datos se producen continuamente y no desea recibir notificaciones de cada cambio a medida que ocurren. En su lugar, especifique un intervalo de sondeo después del cual desea recibir una notificación de todos los cambios que se han producido desde la última notificación de cambio de datos. | La notificación de cambio de datos es instantánea. |
Para obtener más información sobre la notificación de consulta en el adaptador de Microsoft BizTalk para SQL Server, vea Recibir notificaciones de consulta SQL mediante BizTalk Server.