Compartir a través de


Obtenga información sobre las propiedades de enlace del adaptador de BizTalk para SQL Server adaptador.

El adaptador de Microsoft BizTalk para SQL Server muestra varias propiedades de enlace. Al establecer estas propiedades, puede controlar parte del comportamiento del adaptador. En esta sección se describen las propiedades de enlace expuestas por el adaptador de SQL. También muestra cómo puede acceder a ellos mediante la programación de .NET o estableciendo propiedades en un enlace de puerto físico de BizTalk Server.

Propiedades de enlace del adaptador

En la tabla siguiente se muestran las propiedades de enlace del adaptador de SQL agrupadas por categoría. La categoría hace referencia al nodo en el que cada propiedad de enlace aparece en los cuadros de diálogo que presentan diferentes aplicaciones para configurar el adaptador (o enlace).

XmlStoredProcedureRootNodeName

Categoría: FOR XML
Descripción: especifica el nombre del nodo raíz para el esquema de respuesta para los procedimientos almacenados que tienen una cláusula FOR XML en la instrucción SELECT. Este nodo raíz encapsula la respuesta XML recibida de SQL Server después de ejecutar estos procedimientos almacenados. Debe agregar este nodo raíz al esquema de respuesta como se describe en el tema Ejecutar procedimientos almacenados que tienen una cláusula FOR XML en SQL Server mediante BizTalk Server.

Importante

Debe establecer esta propiedad de enlace al ejecutar procedimientos almacenados con la cláusula FOR XML.

Tipo de .NET: cadena

XmlStoredProcedureRootNodeNamespace

Categoría: FOR XML
Descripción: especifica el espacio de nombres de destino del nodo raíz para el esquema de respuesta para los procedimientos almacenados que tienen una cláusula FOR XML en la instrucción SELECT.
Tipo de .NET: cadena

CloseTimeout

Categoría: General
Descripción: tiempo de espera de cierre de la conexión WCF. El valor predeterminado es 1 minuto.
Tipo de .NET: System.TimeSpan

Nombre

Categoría: General
Descripción: valor de solo lectura que devuelve el nombre del archivo generado por el complemento Agregar referencia del servicio adaptador de Visual Studio para contener la clase de cliente WCF. El complemento Agregar referencia del servicio adaptador forma el nombre de archivo anexando "Client" al valor de la propiedad Name . El valor predeterminado de esta propiedad es "SqlAdapterBinding"; para este valor, el archivo generado se denominará "SqlAdapterBindingClient".
Tipo de .NET: cadena

OpenTimeout

Categoría: General
Descripción: especifica el tiempo de espera de apertura de la conexión WCF. El valor predeterminado es 1 minuto.

Importante

El adaptador de SQL siempre usa OpenTimeout para establecer el tiempo de espera de apertura de la conexión cuando se abre una conexión a SQL Server. El adaptador omite los parámetros de tiempo de espera (System.TimeSpan) pasados al abrir un objeto de comunicación. Por ejemplo, el adaptador omite los parámetros de tiempo de espera pasados al abrir un canal.

Tipo de .NET: System.TimeSpan

ReceiveTimeout

Categoría: General
Descripción: especifica el tiempo de espera de recepción del mensaje WCF. Básicamente, esto significa la cantidad máxima de tiempo que el adaptador espera para un mensaje entrante. El valor predeterminado es 10 minutos.

Importante

Para las operaciones entrantes, como el sondeo, se recomienda establecer el tiempo de espera en el valor máximo posible, que es 24.20:31:23.6470000 (24 días). Al usar el adaptador con BizTalk Server, establecer el tiempo de espera en un valor grande no afecta a la funcionalidad del adaptador.

Tipo de .NET: System.TimeSpan

SendTimeout

Categoría: General
Descripción: especifica el tiempo de espera de envío del mensaje WCF. El valor predeterminado es 1 minuto.
Tipo de .NET: System.TimeSpan

EnableBizTalkCompatibilityMode

Categoría: BizTalk
Descripción: indica si el adaptador se usa con BizTalk Server o una aplicación .NET.

  • Al usar los adaptadores de BizTalk Server (o generar metadatos para las operaciones en SQL Server mediante el adaptador en un proyecto de BizTalk), siempre debe establecer la propiedad en True. Esto garantiza que el esquema generado para System.Data.DataSet esté en un formato compatible con BizTalk Server. De lo contrario, el proyecto de BizTalk no se compilará.
  • Al usar los adaptadores de Visual Studio en una aplicación .NET, debe establecer la propiedad en False si desea usar la respuesta como dataSet. Esto garantiza que el esquema generado para System.Data.DataSet tiene un formato compatible con DataContractSerializer de WCF.

Tipo de .NET: bool (System.Boolean)

BatchSize

Categoría: almacenamiento en búfer
Descripción: especifica el tamaño del lote para varias operaciones de inserción, actualización y eliminación de registros en una tabla o vista en una base de datos de SQL Server. El valor predeterminado es 20. En el caso de los valores de BatchSize mayor que uno, el adaptador de SQL agrupa por lotes el número especificado de registros en una sola llamada. Un valor mayor puede mejorar el rendimiento, pero afecta al consumo de memoria.
Tipo de .NET: int (System.Int32)

ChunkSize

Categoría: almacenamiento en búfer
Descripción: especifica el tamaño del búfer usado para las operaciones set<column_name> . El valor predeterminado es 4194304 bytes. Un valor mayor puede mejorar el rendimiento, pero afecta al consumo de memoria.

Nota

Para obtener más información sobre el conjunto<de operaciones de column_name> , vea Operaciones en tablas y vistas que contienen tipos de datos grandes mediante el adaptador de SQL.

Tipo de .NET: int (System.Int32)

Cifrado

Categoría: Conexión
Descripción: especifica si SQL Server (con un certificado válido instalado) usa el cifrado SSL para todas las transferencias de datos entre SQL Server y el cliente. El valor predeterminado es false.
Tipo de .NET: bool (System.Boolean)

MaxConnectionPoolSize

Categoría: Descripción de la conexión: especifica el número máximo de conexiones permitidas en un grupo de conexiones para un cadena de conexión específico. El valor predeterminado es 100. Esta propiedad se usa para la optimización del rendimiento.

Importante

Debe establecer MaxConnectionPoolSize con criterio. Es posible agotar el número de conexiones disponibles, si este valor es demasiado grande.

Tipo de .NET: int (System.Int32)

WorkstationId

Categoría: Conexión
Descripción: especifica un identificador único para la estación de trabajo (equipo cliente) que se conecta a la base de datos de SQL Server mediante el adaptador de SQL. El valor de esta propiedad de enlace, si se especifica, se usa para la palabra clave Id. de estación de trabajo de la propiedad SqlConnection.ConnectionString. Para obtener más información, vea Propiedad SqlConnection.ConnectionString.
Tipo de .NET: cadena

EnablePerformanceCounters

Categoría: Diagnósticos
Descripción: especifica si se habilitan los contadores de rendimiento del SDK del adaptador de LOB de WCF y el contador de rendimiento de latencia de LOB del adaptador de SQL. El valor predeterminado es False; los contadores de rendimiento están deshabilitados. El contador de rendimiento de latencia de LOB mide el tiempo total empleado por el adaptador de SQL en realizar llamadas a la base de datos SQL Server.

Para obtener más información sobre los contadores de rendimiento para el adaptador de SQL, consulte Uso de contadores de rendimiento con el adaptador de SQL.
Tipo de .NET: int (System.Int32)

InboundOperationType

Categoría: entrante
Descripción: especifica si desea realizar la operación de entrada Polling, TypedPolling, XmlPolling o Notification . El valor predeterminado es Sondeo.

Para obtener más información sobre polling, TypedPolling y XmlPolling , vea Support for Polling. Para obtener más información sobre la notificación, vea Consideraciones para recibir notificaciones de consulta mediante el adaptador de SQL.
Tipo de .NET: enumeración

UseDatabaseNameInXsdNamespace

Categoría: Metadatos
Descripción: especifica si el XSD generado para un artefacto determinado contiene el nombre de la base de datos. Establezca esta opción en True para incluir el nombre de la base de datos. De lo contrario, establézcalo en False. El valor predeterminado es false.

Esto es útil en escenarios en los que una sola aplicación quiere ejecutar operaciones en artefactos con nombre idéntico con metadatos diferentes en bases de datos diferentes. Si no hay ningún nombre de base de datos en el espacio de nombres, los metadatos generados entrarán en conflicto. Al establecer esta propiedad de enlace, puede incluir el nombre de la base de datos en el espacio de nombres, lo que los convierte en únicos. Este es un ejemplo que resalta el cambio en el espacio de nombres.

UseDatabaseNameInXsdNamespace = False
http://schemas.microsoft.com/Sql/2008/05/TableOp/dbo/Employee

UseDatabaseNameInXsdNamespace = True
http://schemas.microsoft.com/Sql/2008/05/TableOp/MyDatabase/dbo/Employee

Observe que el nombre de la base de datos se incluye en el espacio de nombres cuando la propiedad de enlace está establecida en True.

Tipo de .NET: enumeración

AllowIdentityInsert

Categoría: Varios
Descripción: especifica si el adaptador puede insertar valores para las columnas de identidad durante las operaciones de inserción y actualización. Establezca esta propiedad en True para insertar o actualizar los valores de las columnas de identidad. De lo contrario, establézcalo en False (valor predeterminado).

Nota

Establecer esta propiedad en True se traduce en el adaptador mediante SET IDENTITY_INSERT <table_name> ON. Para obtener más información, vea SET IDENTITY_INSERT (Transact-SQL).

Al usar esta propiedad de enlace, debe tener en cuenta los siguientes puntos:

  • El adaptador no valida el valor que está pasando para la columna de identidad. Por ejemplo, si una tabla tiene una columna de identidad que tiene "Inicialización de identidad" establecida en 100 e "Incremento de identidad" establecida en 1, y el cliente del adaptador pasa un valor, por ejemplo, 95, para la columna de identidad, el adaptador simplemente pasa este valor a SQL Server.
  • Incluso si establece AllowIdentityInsert en True, no es obligatorio que un cliente de adaptador especifique un valor para la columna de identidad en el mensaje de solicitud. Si hay un valor presente para la columna de identidad, el adaptador lo pasa a SQL Server. Si un valor no está presente, SQL Server insertará un valor en función de la especificación de la columna de identidad.

Tipo de .NET: bool (System.Boolean)

NotificationStatement

Categoría: Notificación (entrante)
Descripción: especifica la instrucción SQL (procedimiento> almacenado SELECT o EXEC<) que se usa para registrarse para SQL Server notificaciones. Debe especificar específicamente los nombres de columna en la instrucción , como se muestra en la siguiente instrucción SELECT:

SELECT Employee_ID,Designation FROM dbo.Employee WHERE Status=0

Nota

Debe especificar el nombre del objeto de base de datos junto con el nombre del esquema. Por ejemplo, dbo.Employee.

El adaptador obtiene un mensaje de notificación de SQL Server solo cuando cambia el conjunto de resultados de la instrucción SQL especificada.

Tipo de .NET: cadena

NotifyOnListenerStart

Categoría: Notificación (entrante)
Descripción: especifica si el adaptador envía un mensaje de notificación a los clientes del adaptador, informando de que la ubicación de recepción se está ejecutando cuando se inicia el agente de escucha. El valor predeterminado es true.

El mensaje de notificación que recibe es similar al siguiente:

<?xml version="1.0" encoding="utf-8" ?>
 <Notification xmlns="http://schemas.microsoft.com/Sql/2008/05/Notification/">
   <Info>ListenerStarted</Info>
    <Source>SqlBinding</Source>
    <Type>Startup</Type>
  </Notification>

Tipo de .NET: bool (System.Boolean)

PolledDataAvailableStatement

Categoría: Sondeo (entrante)
Descripción: especifica la instrucción SQL ejecutada para determinar si hay datos disponibles para sondear una tabla específica en una base de datos de SQL Server. La instrucción especificada debe devolver un conjunto de resultados que consta de filas y columnas. El valor de la primera celda del conjunto de resultados indica si el adaptador ejecuta la instrucción SQL especificada para la propiedad de enlace PollingStatement . Si la primera celda del resultado contiene un valor positivo, el adaptador ejecutó la instrucción de sondeo.

A continuación se muestran ejemplos de algunas instrucciones válidas que puede especificar para esta propiedad de enlace:

  • Si va a especificar una instrucción SELECT:

    SELECT COUNT(*) from <table_name>

  • Si especifica un procedimiento almacenado, es posible que el procedimiento almacenado se defina como:

    CREATE PROCEDURE <procedure_name>
    AS BEGIN
    SELECT COUNT(*) FROM <table_name>
    END
    GO
    

    o

    CREATE PROCEDURE <procedure_name>
    AS BEGIN
    DECLARE @count int
    SELECT @count = SELECT(*) FROM <table_name>
    SELECT @count
    END
    GO
    

Si usa un procedimiento almacenado, especificaría PolledDataAvailableStatement como EXEC <procedure_name>.

Importante

La instrucción especificada para esta propiedad de enlace no se ejecuta dentro de una transacción iniciada por el adaptador y se puede llamar varias veces antes de que se ejecute la instrucción de sondeo real (incluso si la ejecución de la instrucción indica que hay filas disponibles para el sondeo).

Tipo de .NET: cadena

PollingIntervalInSeconds

Categoría: Sondeo (entrante)
Descripción: especifica el intervalo, en segundos, en el que el adaptador de SQL ejecuta la instrucción especificada para la propiedad de enlace PolledDataAvailableStatement . El valor predeterminado es 30 segundos. El intervalo de sondeo determina el intervalo de tiempo entre sondeos sucesivos. Si la instrucción se ejecuta dentro del intervalo especificado, el adaptador estará inactivo durante el tiempo restante del intervalo.
Tipo de .NET: int (System.Int32)

PollingStatement

Categoría: Sondeo (entrante)
Descripción: especifica la instrucción SQL que se va a sondear una tabla de base de datos SQL Server. Puede especificar una instrucción SELECT simple o procedimientos almacenados para la instrucción de sondeo. El valor predeterminado es NULL. Debe especificar un valor para PollingStatement para habilitar el sondeo. La instrucción de sondeo solo se ejecuta si hay datos disponibles para el sondeo, que viene determinado por la propiedad de enlace PolledDataAvailableStatement .

Puede especificar cualquier número de instrucciones SQL separadas por un punto y coma. Puede usar la instrucción de sondeo para leer o actualizar datos en una tabla de base de datos de SQL Server. El adaptador de SQL ejecuta las instrucciones de sondeo dentro de una transacción. Cuando el adaptador se usa con BizTalk Server, se usa la misma transacción para enviar mensajes de SQL Server al cuadro de mensaje de BizTalk.

Tipo de .NET: cadena

PollWhileDataFound

Categoría: Sondeo (entrante)
Descripción: especifica si el adaptador de SQL omite el intervalo de sondeo y ejecuta continuamente la instrucción SQL especificada para la propiedad de enlace PolledDataAvailableStatement , si los datos están disponibles en la tabla que se está sondeando. Si no hay datos disponibles en la tabla, el adaptador revierte para ejecutar la instrucción SQL en el intervalo de sondeo especificado. El valor predeterminado es false.

Considere un escenario en el que el intervalo de sondeo se establece en 60 segundos y la instrucción especificada para PolledDataAvailableStatement devuelve que los datos están disponibles para el sondeo. A continuación, el adaptador ejecuta la instrucción especificada para la propiedad de enlace PollingStatement . Suponiendo que el adaptador tarda solo 10 segundos en ejecutar la instrucción de sondeo, ahora tendrá que esperar 50 segundos antes de volver a ejecutar PolledDataAvailableStatement y, después, ejecutar la instrucción de sondeo. En su lugar, para optimizar el rendimiento, puede establecer la propiedad de enlace PollWhileDataFound en true para que el adaptador pueda empezar a ejecutar el siguiente ciclo de sondeo tan pronto como finalice el ciclo de sondeo anterior.

Tipo de .NET: bool (System.Boolean)

UseAmbientTransaction

Categoría: Transacción
Descripción: especifica si el adaptador de SQL realiza las operaciones mediante el contexto transaccional proporcionado por el autor de la llamada. El valor predeterminado es true, lo que significa que el adaptador siempre realiza las operaciones en un contexto transaccional. Si hay otros recursos que participan en la transacción y SQL Server también se une a la transacción, la transacción se eleva a una transacción MSDTC.

Sin embargo, puede haber escenarios en los que no desee que el adaptador realice operaciones en un contexto transaccional. Por ejemplo:

  • Al realizar una operación Select simple en una base de datos de SQL Server
  • Al especificar una instrucción de sondeo que realiza una operación Select y no implica ningún cambio en la tabla a través de una instrucción Delete o mediante la invocación de un procedimiento almacenado.

Ambas operaciones no realizan ninguna actualización de la tabla de base de datos y, por lo tanto, elevar estas operaciones para usar una transacción MSDTC puede ser una sobrecarga de rendimiento. En estos escenarios, puede establecer la propiedad de enlace en false para que el adaptador de SQL no realice las operaciones en un contexto transaccional.

Nota

  • Cuando UseAmbientTransaction se establece en False, no se llama a PolledDataAvailableStatement . En su lugar, el adaptador llama directamente a PollingStatement.
  • No realizar operaciones en un contexto transaccional solo es aconsejable para las operaciones que no realizan cambios en la base de datos. Para las operaciones que actualizan los datos de la base de datos, se recomienda establecer la propiedad de enlace en true. De lo contrario, podría experimentar pérdida de mensajes o mensajes duplicados, en función de si está realizando operaciones entrantes o salientes.

Tipo de .NET: bool (System.Boolean)

¿Cómo se establecen SQL Server propiedades de enlace?

Puede establecer las propiedades de enlace de SQL Server al especificar una conexión a SQL Server. Para obtener información sobre cómo establecer propiedades de enlace al:

Consulte también

Desarrollar las aplicaciones SQL