Notas del release


42.3 Información sobre MQSeries

42.3.1 Funciones escalares

42.3.1.1 MQPUBLISH

>>-MQPUBLISH--(------------------------------------------------->
 
>--+--------------------------------------------------+--------->
   '-servicio-publicador--,--+----------------------+-'
                             '-política-servicio--,-'
 
>--datos-mje--+--------------------------------+--)------------><
              '-,--tema--+-------------------+-'
                         |              (1)  |
                         '-,--id-correl------'
 
 

Notas:

  1. El id-correl no se puede especificar a no ser que previamente se haya definido un servicio y una política.

El esquema es DB2MQ.

La función MQPUBLISH publica datos ante MQSeries. Esta función requiere la instalación de MQSeries Publish/Subscribe o MQSeries Integrator. Consulte la dirección www.ibm.com/software/MQSeries para obtener más información.

La función MQPUBLISH publica los datos contenidos en datos-mje ante el publicador de MQSeries especificado en servicio-publicador y utiliza la calidad de política de servicio definida en política-servicio. Se puede especificar un tema opcional para el mensaje y también se puede especificar un identificador opcional de correlación de mensajes definidos por el usuario. La función devuelve el valor '1' si se ejecuta satisfactoriamente y '0' si no es así.

servicio-publicador
Una serie que contiene el destino lógico de MQSeries al que se debe enviar el mensaje. Si se especifica, el servicio-publicador debe hacer referencia a un Punto de servicio del publicador definido en el archivo de repositorio AMT.XML. Un punto de servicio es un punto final lógico desde el que se envía o en el que se recibe un mensaje. Las definiciones de puntos de servicio incluyen el nombre de MQSeries Queue Manager y de la cola. Consulte el manual MQSeries Application Messaging Interface para obtener más información. Si no se especifica servicio-publicador, se utilizará DB2.DEFAULT.PUBLISHER. El tamaño máximo de servicio-publicador es 48 bytes.

política-servicio
Una serie que contiene la política de servicio AMI de MQSeries que se va a utilizar para manejar este mensaje. Si se especifica, la política-servicio debe hacer referencia a una política definida en el archivo de repositorio AMT.XML. Una Política de servicio define una serie de opciones de calidad de servicio que se deben aplicar a esta operación de gestión de mensajes. Estas opciones incluyen prioridad y permanencia del mensaje. Consulte el manual MQSeries Application Messaging Interface para obtener más información. Si no se especifica política-servicio, se utiliza DB2.DEFAULT.POLICY por omisión. El tamaño máximo de política-servicio es 48 bytes.

datos-mje
Una expresión que contiene los datos que se van a enviar mediante MQSeries. El tamaño máximo, si la serie es de tipo VARCHAR, es 4000 bytes. Si la serie es CLOB, puede llegar a tener un tamaño de 1 MB.

tema
Una expresión que contiene el tema correspondiente a la publicación del mensaje. Si no se especifica ningún tema, no se asociará ninguno al mensaje. El tamaño máximo de tema es 40 bytes. Se pueden especificar varios temas en una serie (con una longitud máxima de 40 caracteres). Cada tema se debe separar por un signo de dos puntos. Por ejemplo, "t1:t2:tercer tema" indica que el mensaje se asocia con tres temas: t1, t2 y "tercer tema".

id-correl
Una expresión opcional que contiene un identificador de correlación que se asociará con este mensaje. El id-correl se suele especificar en escenarios de petición y respuesta para asociar peticiones con respuestas. Si no se especifica, no se añade ningún id de correlación al mensaje. El tamaño máximo de id-correl es 24 bytes.

Ejemplos

Ejemplo 1: Este ejemplo publica la serie "Testing 123" al servicio publicador por omisión (DB2.DEFAULT.PUBLISHER) utilizando la política por omisión (DB2.DEFAULT.POLICY). No se especifica ningún identificador de correlación ni ningún tema para el mensaje.

VALUES MQPUBLISH('Testing 123')

Ejemplo 2: Este ejemplo publica la serie "Testing 345" al servicio publicador "MYPUBLISHER" bajo el tema "TESTS". Se utiliza la política por omisión y no se especifica ningún identificador de correlación.

VALUES MQPUBLISH('MYPUBLISHER','Testing 345', 'TESTS')

Ejemplo 3: Este ejemplo publica la serie "Testing 678" al servicio publicador "MYPUBLISHER" utilizando la política "MYPOLICY" con el identificador de correlación "TEST1". El mensaje se publica con el tema "TESTS".

VALUES MQPUBLISH('MYPUBLISHER','MYPOLICY','Testing 678','TESTS','TEST1')

Ejemplo 4: Este ejemplo publica la serie "Testing 901" al servicio publicador "MYPUBLISHER" bajo el tema "TESTS" utilizando la política por omisión (DB2.DEFAULT.POLICY) y sin identificador de correlación.

VALUES MQPUBLISH('Testing 901','TESTS')

Todos los ejemplos devuelven el valor '1' si se ejecutan satisfactoriamente.

42.3.1.2 MQREADCLOB

>>-MQREADCLOB--(------------------------------------------------>
 
>--+----------------------------------------------+--)---------><
   '-servicio-recepción--+----------------------+-'
                         '-,--política-servicio-'
 
 

El esquema es DB2MQ.

La función MQREADCLOB devuelve un mensaje procedente de la ubicación de MQSeries especificada por servicio-recepción, utilizando la política de calidad de servicio definida en política-servicio. Al ejecutar esta operación no se elimina el mensaje de la cola asociada con servicio-recepción, sino que se devuelve el mensaje al principio de la cola. El valor de retorno es un CLOB con una longitud máxima de 1 MB, que contiene el mensaje. Si no hay ningún mensaje disponible que se pueda devolver, se devuelve un NULL.

servicio-recepción
Una serie que contiene el destino lógico de MQSeries desde el que se va a recibir el mensaje. Si se especifica, el servicio-recepción hace referencia a un Punto de servicio definido en el archivo de repositorio AMT.XML. Un punto de servicio es un punto final lógico desde el que se envía o en el que se recibe un mensaje. Las definiciones de puntos de servicio incluyen el nombre de MQSeries Queue Manager y de la cola. Consulte el manual MQSeries Application Messaging Interface para obtener más información. Si no se especifica servicio-recepción, se utiliza DB2.DEFAULT.SERVICE. El tamaño máximo de servicio-recepción es 48 bytes.

política-servicio
Una serie que contiene la política de servicio AMI de MQSeries utilizada para manejar este mensaje. Si se especifica, la política-servicio debe hacer referencia a una política definida en el archivo de repositorio AMT.XML. Una Política de servicio define una serie de opciones de calidad de servicio que se deben aplicar a esta operación de gestión de mensajes. Estas opciones incluyen prioridad y permanencia del mensaje. Consulte el manual MQSeries Application Messaging Interface para obtener más información. Si no se especifica política-servicio, se utiliza DB2.DEFAULT.POLICY por omisión. El tamaño máximo de política-servicio es 48 bytes.

Ejemplos:

Ejemplo 1: Este ejemplo lee el mensaje que hay al principio de la cola especificada por el servicio por omisión (DB2.DEFAULT.SERVICE), utilizando la política por omisión (DB2.DEFAULT.POLICY).

VALUES MQREADCLOB()

Ejemplo 2: Este ejemplo lee el mensaje que hay al principio de la cola especificada por el servicio "MYSERVICE" utilizando la política por omisión (DB2.DEFAULT.POLICY).

VALUES MQREADCLOB('MYSERVICE')

Ejemplo 3: Este ejemplo lee el mensaje que hay al principio de la cola especificada por el servicio "MYSERVICE" utilizando la política "MYPOLICY".

VALUES MQREADCLOB('MYSERVICE','MYPOLICY')

Todos estos ejemplos devuelven el contenido del mensaje como un CLOB con un tamaño máximo de 1 MB, si se ejecutan satisfactoriamente. Si no hay mensajes disponibles, se devuelve un NULL.

42.3.1.3 MQRECEIVECLOB

>>-MQRECEIVECLOB------------------------------------------------>
 
>--(--+----------------------------------------------------------------+--)-><
      '-servicio-recepción--+----------------------------------------+-'
                            '-,--política-servicio--+--------------+-'
                                                    '-,--id-correl-'
 
 

El esquema es DB2MQ.

La función MQRECEIVECLOB devuelve un mensaje procedente de la ubicación de MQSeries especificada por servicio-recepción, utilizando la política de calidad de servicio política-servicio. Al llevar a cabo esta operación se elimina el mensaje de la cola asociada con servicio-recepción. Si se especifica id-correl, se devuelve el primer mensaje con un identificador de correlación que coincida. Si no se especifica correl-id, se devuelve el primer mensaje de la cola. El valor de retorno es un CLOB con una longitud máxima de 1 MB, que contiene el mensaje. Si no hay ningún mensaje disponible que se pueda devolver, se devuelve un NULL.

servicio-recepción
Una serie que contiene el destino lógico de MQSeries desde el que se recibe el mensaje. Si se especifica, el servicio-recepción hace referencia a un Punto de servicio definido en el archivo de repositorio AMT.XML. Un punto de servicio es un punto final lógico desde el que se envía o en el que se recibe un mensaje. Las definiciones de puntos de servicio incluyen el nombre de MQSeries Queue Manager y de la cola. Consulte el manual MQSeries Application Messaging Interface para obtener más información. Si no se especifica servicio-recepción, se utiliza DB2.DEFAULT.SERVICE. El tamaño máximo de servicio-recepción es 48 bytes.

política-servicio
Una serie que contiene la política de servicio AMI de MQSeries que se va a utilizar para manejar este mensaje. Si se especifica, la política-servicio debe hacer referencia a una Política definida en el archivo de repositorio AMT.XML 1 . Si no se especifica política-servicio, se utiliza DB2.DEFAULT.POLICY por omisión. El tamaño máximo de política-servicio es 48 bytes.

id-correl
Serie que contiene un identificador de correlación opcional que se va a asociar con este mensaje. El id-correl se suele especificar en escenarios de petición y respuesta para asociar peticiones con respuestas. Si no se especifica, no se utilizará ningún id de correlación. El tamaño máximo de id-correl es 24 bytes.

Ejemplos:

Ejemplo 1: Este ejemplo recibe el mensaje que hay al principio de la cola especificada por el servicio por omisión (DB2.DEFAULT.SERVICE), utilizando la política por omisión (DB2.DEFAULT.POLICY).

VALUES
MQRECEIVECLOB()

Ejemplo 2: Este ejemplo recibe el mensaje que hay al principio de la cola especificada por el servicio "MYSERVICE" utilizando la política por omisión (DB2.DEFAULT.POLICY).

VALUES MQRECEIVECLOB('MYSERVICE')

Ejemplo 3: Este ejemplo recibe el mensaje que hay al principio de la cola especificada por el servicio "MYSERVICE" utilizando la política "MYPOLICY".

VALUES MQRECEIVECLOB('MYSERVICE','MYPOLICY')

Ejemplo 4: Este ejemplo recibe el primer mensaje con el id de correlación que coincida con '1234' del principio de la cola especificada por el servicio "MYSERVICE" utilizando la política "MYPOLICY".

VALUES
MQRECEIVECLOB('MYSERVICE',MYPOLICY','1234')

Todos estos ejemplos devuelven el contenido del mensaje como un CLOB con un tamaño máximo de 1 MB, si se ejecutan satisfactoriamente. Si no hay mensajes disponibles, se devuelve un NULL.

42.3.1.4 MQSEND

>>-MQSEND--(--+---------------------------------------------+--->
              '-servicio-envío--,--+----------------------+-'
                                   '-política-servicio--,-'
 
>--datos-mje--+-------------------+--)-------------------------><
              |              (1)  |
              '-,--id-correl------'
 
 

Notas:

  1. El id-correl no se puede especificar a no ser que previamente se haya definido un servicio y una política.

El esquema es DB2MQ.

La función MQSEND envía los datos contenidos en datos-mje a la ubicación de MQSeries especificada por servicio-envío, utilizando la política de calidad de servicio definida por política-servicio. Se puede especificar un identificador opcional de correlación de mensaje definido por el usuario mediante id-correl. La función devuelve el valor '1' si se ejecuta satisfactoriamente y '0' si no es así.

datos-mje
Una expresión que contiene los datos que se van a enviar mediante MQSeries. El tamaño máximo es de 4000 bytes si los datos son de tipo VARCHAR, y de 1 MB si los datos son de tipo CLOB.

servicio-envío
Una serie que contiene el destino lógico de MQSeries al que se debe enviar el mensaje. Si se especifica, el servicio-envío hace referencia a un punto de servicio definido en el archivo de repositorio AMT.XML. Un punto de servicio es un punto final lógico desde el que se envía o en el que se recibe un mensaje. Las definiciones de puntos de servicio incluyen el nombre de MQSeries Queue Manager y de la cola. Consulte el manual MQSeries Application Messaging Interface para obtener más información. Si no se especifica servicio-envío, se utiliza el valor de DB2.DEFAULT.SERVICE. El tamaño máximo de servicio-envío es 48 bytes.

política-servicio
Una serie que contiene la política de servicio AMI de MQSeries utilizada para manejar este mensaje. Si se especifica, la política-servicio debe hacer referencia a una política definida en el archivo de repositorio AMT XML. Una Política de servicio define una serie de opciones de calidad de servicio que se deben aplicar a esta operación de gestión de mensajes. Estas opciones incluyen prioridad y permanencia del mensaje. Consulte el manual MQSeries Application Messaging Interface para obtener más información. Si no se especifica política-servicio, se utiliza el valor por omisión DB2.DEFAULT.POLICY. El tamaño máximo de política-servicio es 48 bytes.

id-correl
Una serie opcional que contiene un identificador de correlación asociado con este mensaje. El id-correl se suele especificar en escenarios de petición y respuesta para asociar peticiones con respuestas. Si no se especifica, no se envía ningún id de correlación. El tamaño máximo de id-correl es 24 bytes.

Ejemplos:

Ejemplo 1: Este ejemplo envía la serie "Testing 123" al servicio por omisión (DB2.DEFAULT.SERVICE), utilizando la política por omisión (DB2.DEFAULT.POLICY), sin identificador de correlación.

VALUES MQSEND('Testing 123')

Ejemplo 2: Este ejemplo envía la serie "Testing 345" al servicio "MYSERVICE", utilizando la política "MYPOLICY", sin identificador de correlación.

VALUES MQSEND('MYSERVICE','MYPOLICY','Testing 345')

Ejemplo 3: Este ejemplo envía la serie "Testing 678" al servicio "MYSERVICE", utilizando la política "MYPOLICY", con el identificador de correlación "TEST3".

VALUES MQSEND('MYSERVICE','MYPOLICY','Testing 678','TEST3')

Ejemplo 4: Este ejemplo envía la serie "Testing 901" al servicio "MYSERVICE", utilizando la política por omisión (DB2.DEFAULT.POLICY), y sin identificador de correlación.

VALUES MQSEND('MYSERVICE','Testing 901')

Todos los ejemplos devuelven el valor escalar '1' si se ejecutan satisfactoriamente.

42.3.2 Funciones de tabla

42.3.2.1 MQREADALLCLOB

>>-MQREADALLCLOB--(--------------------------------------------->
 
>--+----------------------------------------------+------------->
   '-servicio-recepción--+----------------------+-'
                         '-,--política-servicio-'
 
>--+-----------+--)--------------------------------------------><
   '-núm-filas-'
 
 

El esquema es DB2MQ.

La función MQREADALLCLOB devuelve una tabla que contiene los mensajes y metadatos de mensajes procedentes de la ubicación de MQSeries especificada por servicio-recepción, utilizando la política de calidad de servicio política-servicio. Al realizar esta operación no se eliminan los mensajes de la cola asociada con servicio-recepción.

Si se especifica núm-filas, se devolverá un máximo de núm-filas mensajes. Si no se especifica núm-filas, se devolverán todos los mensajes disponibles. La tabla devuelta contiene las siguientes columnas:

servicio-recepción
Una serie que contiene el destino lógico de MQSeries del que se lee el mensaje. Si se especifica, el servicio-recepción debe hacer referencia a un punto de servicio definido en el archivo de repositorio AMT.XML. Un punto de servicio es un punto final lógico desde el que se envía o en el que se recibe un mensaje. Las definiciones de puntos de servicio incluyen el nombre de MQSeries Queue Manager y de la cola. Consulte el manual MQSeries Application Messaging Interface para obtener más información. Si no se especifica servicio-recepción, se utilizará DB2.DEFAULT.SERVICE. El tamaño máximo de servicio-recepción es 48 bytes.

política-servicio
Una serie que contiene la política de servicio AMI de MQSeries que se utiliza para manejar este mensaje. Si se especifica, la política-servicio hace referencia a una política definida en el archivo de repositorio AMT.XML. Una política de servicio define una serie de opciones de calidad de servicio que se deben aplicar a esta operación de gestión de mensajes. Estas opciones incluyen prioridad y permanencia del mensaje. Consulte el manual MQSeries Application Messaging Interface para obtener más información. Si no se especifica política-servicio, se utiliza DB2.DEFAULT.POLICY por omisión. El tamaño máximo de política-servicio es 48 bytes.

núm-filas
Un entero positivo que contiene el número máximo de mensajes que devolverá la función.

Ejemplos:

Ejemplo 1: Este ejemplo recibe todos los mensajes procedentes de la cola especificada por el servicio por omisión (DB2.DEFAULT.SERVICE), utilizando la política por omisión (DB2.DEFAULT.POLICY). Los mensajes y todos los metadatos se devuelven como una tabla.

SELECT *
   FROM table (MQREADALLCLOB()) T

Ejemplo 2: Este ejemplo recibe todos los mensajes procedentes del principio de la cola especificada por el servicio MYSERVICE, utilizando la política por omisión (DB2.DEFAULT.POLICY). Sólo se devuelven las columnas MSG y CORRELID.

SELECT T.MSG, T.CORRELID
   FROM table (MQREADALLCLOB('MYSERVICE')) T

Ejemplo 3: Este ejemplo lee el principio de la cola especificada por el servicio por omisión (DB2.DEFAULT.SERVICE), utilizando la política por omisión (DB2.DEFAULT.POLICY). Sólo se devuelven los mensajes con un CORRELID de '1234'. Se devuelven todas las columnas.

SELECT *
   FROM table (MQREADALLCLOB()) T
   WHERE T.CORRELID = '1234'

Ejemplo 4: Este ejemplo recibe los 10 primeros mensajes del principio de la cola especificada por el servicio por omisión (DB2.DEFAULT.SERVICE), utilizando la política por omisión (DB2.DEFAULT.POLICY). Se devuelven todas las columnas.

SELECT *
   FROM table (MQREADALLCLOB(10)) T

42.3.2.2 MQRECEIVEALLCLOB

>>-MQRECEIVEALLCLOB--(------------------------------------------>
 
>--+----------------------------------------------------------------+-->
   '-servicio-recepción--+----------------------------------------+-'
                         '-,--política-servicio--+--------------+-'
                                                 '-,--id-correl-'
 
>--+------------------+--)-------------------------------------><
   '-+---+--núm-filas-'
     '-,-'
 
 

El esquema es DB2MQ.

La función MQRECEIVEALLCLOB devuelve una tabla que contiene los mensajes y metadatos de mensajes procedentes de la ubicación de MQSeries especificada por servicio-recepción, utilizando la política de calidad de servicio política-servicio. Al realizar esta operación se eliminan los mensajes de la cola asociada con servicio-recepción.

Si se especifica un id-correl, sólo se devuelven los mensajes con un identificador de correlación que coincida. Si no se especifica correl-id, se devuelve el primer mensaje de la cola.

Si se especifica núm-filas, se devolverá un máximo de núm-filas mensajes. Si no se especifica núm-filas, se devolverán todos los mensajes disponibles. La tabla devuelta contiene las siguientes columnas:

servicio-recepción
Una serie que contiene el destino lógico de MQSeries desde el que se recibe el mensaje. Si se especifica, el servicio-recepción debe hacer referencia a un punto de servicio definido en el archivo de repositorio AMT.XML. Un punto de servicio es un punto final lógico desde el que se envía o en el que se recibe un mensaje. Las definiciones de puntos de servicio incluyen el nombre de MQSeries Queue Manager y de la cola. Consulte el manual MQSeries Application Messaging Interface para obtener más información. Si no se especifica servicio-recepción, se utilizará DB2.DEFAULT.SERVICE. El tamaño máximo de servicio-recepción es 48 bytes.

política-servicio
Una serie que contiene la política de servicio AMI de MQSeries que se utiliza para manejar este mensaje. Si se especifica, la política-servicio hace referencia a una política definida en el archivo de repositorio AMT.XML. Una política de servicio define una serie de opciones de calidad de servicio que se deben aplicar a esta operación de gestión de mensajes. Estas opciones incluyen prioridad y permanencia del mensaje. Consulte el manual MQSeries Application Messaging Interface para obtener más información. Si no se especifica política-servicio, se utiliza DB2.DEFAULT.POLICY por omisión. El tamaño máximo de política-servicio es 48 bytes.

id-correl
Una serie opcional que contiene un identificador de correlación asociado con este mensaje. El id-correl se suele especificar en escenarios de petición y respuesta para asociar peticiones con respuestas. Si no se especifica, no se especifica ningún id de correlación. El tamaño máximo de id-correl es 24 bytes.

núm-filas
Un entero positivo que contiene el número máximo de mensajes que devolverá la función.

Ejemplos:

Ejemplo 1: Este ejemplo recibe todos los mensajes procedentes de la cola especificada por el servicio por omisión (DB2.DEFAULT.SERVICE), utilizando la política por omisión (DB2.DEFAULT.POLICY). Los mensajes y todos los metadatos se devuelven como una tabla.

SELECT *
   FROM table (MQRECEIVEALLCLOB()) T

Ejemplo 2: Este ejemplo recibe todos los mensajes procedentes del principio de la cola especificada por el servicio MYSERVICE, utilizando la política por omisión (DB2.DEFAULT.POLICY). Sólo se devuelven las columnas MSG y CORRELID.

SELECT T.MSG, T.CORRELID
   FROM table (MQRECEIVEALLCLOB('MYSERVICE')) T

Ejemplo 3: Este ejemplo recibe todos los mensajes del principio de la cola especificada por el servicio "MYSERVICE", utilizando la política "MYPOLICY". Sólo se devuelven los mensajes con un CORRELID de '1234'. Sólo se devuelven las columnas MSG y CORRELID.

SELECT T.MSG, T.CORRELID
   FROM table (MQRECEIVEALLCLOB('MYSERVICE','MYPOLICY','1234')) T
  

Ejemplo 4: Este ejemplo recibe los 10 primeros mensajes del principio de la cola especificada por el servicio por omisión (DB2.DEFAULT.SERVICE), utilizando la política por omisión (DB2.DEFAULT.POLICY). Se devuelven todas las columnas.

SELECT *
   FROM table (MQRECEIVEALLCLOB(10)) T

42.3.3 Ahora se soportan datos CLOB en funciones de MQSeries

Las funciones de MQSeries (definidas en el esquema DB2MQ) incluyen ahora un funcionamiento que permite utilizarlas con datos CLOB además de hacerlo con datos VARCHAR. En algunos casos, ahora existe una nueva función para manejar el tipo de datos CLOB; en otros, la función que ya existía maneja ahora tanto datos CLOB como datos VARCHAR. En cualquier caso, la sintaxis de una función CLOB es idéntica a la de su equivalente VARCHAR. En la tabla siguiente se listan las funciones que soportan el uso de datos CLOB, y sus funciones VARCHAR equivalentes:


Tabla 16. Funciones de MQSeries que soportan el tipo de datos CLOB
Función a utilizar para datos VARCHAR Función a utilizar para datos CLOB
MQPUBLISH MQPUBLISH
MQREAD MQREADCLOB
MQRECEIVE MQRECEIVECLOB
MQSEND MQSEND
MQREADALL MQREADALLCLOB
MQRECEIVEALL MQRECEIVEALLCLOB

Para obtener información sobre cómo habilitar las funciones de MQSeries (definidas en el esquema DB2MQ), consulte MQSeries.


Notas a pie de página:

1
Una Política de servicio define una serie de opciones de calidad de servicio que se deben aplicar a esta operación de gestión de mensajes. Estas opciones incluyen prioridad y permanencia del mensaje. Consulte el manual MQSeries Application Messaging Interface para obtener más información.


[ Principio de página | Página anterior | Página siguiente | Contenido | Índice ]