Citrix ADC

Referencia de DataStream

Esta referencia describe los protocolos MySQL y TDS, las versiones de la base de datos, los métodos de autenticación y los conjuntos de caracteres admitidos por la función DataStream. También describe cómo el Citrix ADC gestiona las solicitudes de transacción y las consultas especiales que modifican el estado de una conexión.

También puede configurar el dispositivo Citrix ADC para generar mensajes de registro de auditoría para la función DataStream.

Versiones de bases de datos, protocolos y métodos de autenticación compatibles

  Base de datos MySQL Base de datos MS SQL
Versiones de base de datos Versiones de base de datos MySQL 4.1, 5.0, 5.1, 5.4, 5.5, 5.6 Versiones de base de datos MS SQL 2000, 2000SP1, 2005, 2008, 2008R2, 2012, 2014 (compatibilidad con autenticación Kerberos)
Protocolos Protocolo MySQL versión 10. Para obtener información sobre el protocolo MySQL, consulte Protocolo cliente/servidor MySQL Protocolo de flujo de datos tabular (TDS) versión 7.1 y superior. Para obtener información sobre el protocolo TDS, consulte Protocolo de flujo de datos tabular
Métodos de autenticación Se admite la autenticación nativa de MySQL. Se admiten la autenticación de servidor SQL y la autenticación de Windows (Kerberos/NTLM).

Juegos de caracteres

La función DataStream solo admite el juego de caracteres UTF-8.

El conjunto de caracteres utilizado por el cliente al enviar una solicitud puede ser diferente del conjunto de caracteres utilizado en las respuestas del servidor de base de datos. Aunque el parámetro charset se establece durante el establecimiento de la conexión, se puede cambiar en cualquier momento enviando una consulta SQL. El juego de caracteres está asociado a una conexión y, por lo tanto, las solicitudes de conexiones con un juego de caracteres no se pueden multiplexar en una conexión con un juego de caracteres diferente.

El dispositivo Citrix ADC analiza las consultas enviadas por el cliente y las respuestas enviadas por el servidor de base de datos.

El juego de caracteres asociado a una conexión se puede cambiar después del apretón de manos inicial mediante las dos consultas siguientes:

SET NAMES <charset> COLLATION <collation>

SET CHARACTER SET <charset>

Transacciones

En MySQL, las transacciones se identifican mediante el parámetro de conexión AUTOCOMMIT o las consultas INICI:COMMIT. El parámetro AUTOCOMMIT se puede establecer durante el enlace inicial, o después de establecer la conexión mediante la consulta SET AUTOCOMMIT.

El dispositivo Citrix ADC analiza explícitamente cada consulta para determinar el comienzo y el final de una transacción.

En el protocolo MySQL, la respuesta contiene dos indicadores para indicar si la conexión es una transacción: Los indicadores TRANSACTION y AUTOCOMMIT.

Si la conexión es una transacción, se establece el indicador TRANSACTION. O bien, si el modo AutoCommit está desactivado, el indicador AUTOCOMMIT no está establecido. El dispositivo ADC analiza la respuesta y, si el indicador TRANSACTION está establecido o el indicador AUTOCOMMIT no está establecido, no realiza la multiplexación de conexión. Cuando estas condiciones ya no se cumplen, el dispositivo ADC comienza la multiplexación de conexión.

Nota

Las transacciones también son compatibles con MS SQL.

Consultas especiales

Existen consultas especiales, como SET y PREPARE, que modifican el estado de la conexión y pueden interrumpir el cambio de solicitudes y, por lo tanto, estas consultas deben manejarse de manera diferente.

Al recibir una solicitud con consultas especiales, el dispositivo Citrix ADC envía una respuesta Aceptar al cliente y también almacena la solicitud en la conexión.

Cuando se recibe una consulta no especial, como INSERT y SELECT, junto con una consulta almacenada, el dispositivo Citrix ADC busca primero la conexión del lado del servidor en la que la consulta almacenada ya se ha enviado al servidor de base de datos. Si no existen tales conexiones, el dispositivo ADC crea una conexión, envía primero la consulta almacenada y, a continuación, envía la solicitud con la consulta no especial.

En las consultas especiales SET, USE db e INIT_DB, el dispositivo modifica un campo en la conexión del lado del servidor correspondiente a la consulta especial. Esta modificación da como resultado una mejor reutilización de la conexión del lado del servidor.

Solo 16 consultas se almacenan en cada conexión.

A continuación se muestra una lista de las consultas especiales para las que el dispositivo ADC tiene un comportamiento modificado.

  • Consulta SET

    Las consultas SET SQL definen variables asociadas a la conexión. Estas consultas también se utilizan para definir variables globales, pero a partir de ahora, el dispositivo ADC no puede diferenciar entre variables locales y globales. Para esta consulta, el dispositivo ADC utiliza el mecanismo ‘almacenar y reenviar’.

  • Utilice la consulta <db>

    Mediante esta consulta, el usuario puede cambiar la base de datos asociada a una conexión. En este caso, el dispositivo ADC analiza el valor <db> enviado y modifica un campo en la conexión del lado del servidor para reflejar la nueva base de datos que se va a utilizar.

  • INIT_DB (comando)

    Mediante esta consulta, el usuario puede cambiar la base de datos asociada a una conexión. En este caso, el dispositivo ADC analiza el valor <init_db> enviado y modifica un campo en la conexión del lado del servidor para reflejar la nueva base de datos que se va a utilizar.

  • COM_PREPARE

    El dispositivo ADC detiene la conmutación de solicitud al recibir este comando.

  • PREPARE consulta

    Esta consulta se utiliza para crear instrucciones preparadas que están asociadas a una conexión. Para esta consulta, el dispositivo ADC utiliza el mecanismo ‘almacenar y reenviar’.

Compatibilidad con mensajes de registro de auditoría

Ahora puede configurar el dispositivo Citrix ADC para generar mensajes de registro de auditoría para la función DataStream. Los mensajes de registro de auditoría se generan cuando se establecen, se cierran o se eliminan las conexiones del lado del cliente y del lado del servidor. Las categorías de mensajes que puede registrar y ver son ERROR e INFO. Los mensajes de error para las conexiones del lado del cliente comienzan con “CS” y los mensajes de error para las conexiones del lado del servidor comienzan con “SS.” En caso necesario, se proporciona información adicional. Por ejemplo, los mensajes de registro para conexiones cerradas (CS_CONN_CLOSED) incluyen solo el ID de conexión. Sin embargo, los mensajes de registro para conexiones establecidas (CS_CONN_ESTD) incluyen información como el nombre de usuario, el nombre de la base de datos y la dirección IP del cliente, además del identificador de conexión.

Referencia de DataStream