>>-MQPUBLISH--(-------------------------------------------------> >--+--------------------------------------------------+---------> '-servicio-publicador--,--+----------------------+-' '-política-servicio--,-' >--datos-mje--+--------------------------------+--)------------>< '-,--tema--+-------------------+-' | (1) | '-,--id-correl------'
Notas:
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í.
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.
>>-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 para devolverse, se devolverá NULL.
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.
>>-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 para devolverse, se devolverá NULL.
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.
>>-MQSEND--(--+---------------------------------------------+---> '-servicio-envío--,--+----------------------+-' '-política-servicio--,-' >--datos-mje--+-------------------+--)------------------------->< | (1) | '-,--id-correl------'
Notas:
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í.
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.
>>-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:
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
>>-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:
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
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 18. 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.