Compartir a través de


Lea sobre las propiedades de enlace del adaptador de BizTalk para SQL Server.

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 del 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 mientras ejecuta 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: El tiempo de espera para el cierre de la conexión WCF. El valor predeterminado es 1 minuto.
Tipo de .NET: System.TimeSpan

Nombre

Categoría: General
Descripción: un valor de solo lectura que devuelve el nombre del archivo generado por el complemento Agregar referencia de servicio de adaptador de Visual Studio que contiene la clase de cliente WCF. El complemento Add Adapter Service Reference 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 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

Tiempo de espera de recepción

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 espera el adaptador 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 de mensajes WCF. El valor predeterminado es 1 minuto.
Tipo de .NET: System.TimeSpan

ActivarModoDeCompatibilidadBizTalk

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 operaciones en SQL Server mediante el adaptador de un proyecto de BizTalk), siempre debe establecer la propiedad en True. Esto garantiza que el esquema generado para System.Data.DataSet tenga 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 tenga un formato compatible con DataContractSerializer de WCF.

Tipo de .NET: bool (System.Boolean)

Tamaño de lote

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. Para los valores de BatchSize mayores 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 establecimiento<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)

Cifrar

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)

TamañoMáximoDeLaReservaDeConexiones (MaxConnectionPoolSize)

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

Importante

Debe establecer MaxConnectionPoolSize con criterio. Es posible agotar el número de conexiones disponibles, si este valor se establece 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 utiliza para la palabra clave Workstation ID de la propiedad SqlConnection.ConnectionString. Para obtener más información, vea Propiedad SqlConnection.ConnectionString.
Tipo de .NET: cadena

HabilitarContadoresDeRendimiento

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 invertido por el adaptador de SQL en realizar llamadas a la base de datos de 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)

TipoDeOperaciónDeEntrada

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 sondeo, TypedPolling y XmlPolling , consulte Compatibilidad con sondeos. 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. Establézcalo 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 distintos metadatos 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 en el que se 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

PermitirInserciónIdentidad

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 valores para las columnas de identidad. De lo contrario, establézcalo en False (valor predeterminado).

Nota:

Establecer esta propiedad en True hace que el adaptador use SET IDENTITY_INSERT <table_name> ON. Para obtener más información, consulte 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 pasas 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" establecido 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)

Declaración de Notificación

Categoría: Notificación (entrante)
Descripción: especifica la instrucción SQL (procedimiento> almacenado SELECT o EXEC<) que se usa para registrarse para las notificaciones de SQL Server. 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, indicando que la ubicación de recepción está en funcionamiento, cuando se inicia la escucha. El valor predeterminado es true.

El mensaje de notificación que recibe tiene el siguiente aspecto:

<?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)

DeclaraciónDeDatosSondeadosDisponibles

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 que especifique para esta propiedad de enlace no se ejecuta dentro de una transacción iniciada por el adaptador y podría llamarse 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

IntervaloDeSondeoEnSegundos

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)

Declaración de Encuestas

Categoría: Sondeo (entrante)
Descripción: Especifica la instrucción SQL para sondear una tabla de la base de datos de 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 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

CompruebaMientrasSeEncuentrenDatos

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 vuelve a 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, a continuación, 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 invocando 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 realicen 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, puede experimentar la pérdida de mensajes o los mensajes duplicados, en función de si está realizando operaciones entrantes o salientes.

Tipo de .NET: bool (System.Boolean)

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

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 cuando:

Véase también

Desarrollo de aplicaciones SQL