>>-MQPUBLISH--(-------------------------------------------------> >--+---------------------------------------------+--msg-data----> '-publisher-service--,--+-------------------+-' '-service-policy--,-' >--+---------------------------------+--)---------------------->< '-,--topic--+-------------------+-' | (1) | '-,--correl-id------'
Notas:
O esquema é DB2MQ.
A função MQPUBLISH publica dados para o MQSeries. Essa função requer a instalação do MQSeries Publish/Subscribe ou do MQSeries Integrator. Consulte www.ibm.com/software/MQSeries para obter detalhes adicionais.
A função MQPUBLISH publica os dados contidos em msg-data para o MQSeries publisher especificado em publisher-service e utilizando a qualidade de política de serviço definida pelo service-policy. Pode ser especificado um tópico opcional para a mensagem e também pode ser especificado o identificador de correlação de mensagem definido pelo usuário. A função retorna um valor '1' se bem-sucedida ou um valor '0' se malsucedida.
Exemplos
Exemplo 1: Este exemplo publica a cadeia "Testando 123" para o publisher service padrão (DB2.DEFAULT.PUBLISHER) que utiliza a política padrão (DB2.DEFAULT.POLICY). Nenhum identificador de correlação ou tópico está especificado para a mensagem.
VALUES MQPUBLISH('Testando 123')
Exemplo 2: Este exemplo publica a cadeia "Testando 345" para o publisher service "MYPUBLISHER" no tópico "TESTS". A política padrão é utilizada e nenhum identificador de correlação é especificado.
VALUES MQPUBLISH('MYPUBLISHER','Testando 345', 'TESTS')
Exemplo 3: Este exemplo publica a cadeia "Testando 678" para o publisher service "MYPUBLISHER" que utiliza a política "MYPOLICY" com um identificador de correlação "TEST1". A mensagem é publicada com o tópico "TESTS".
VALUES MQPUBLISH('MYPUBLISHER','MYPOLICY','Testando 678','TESTS','TEST1')
Exemplo 4: Este exemplo publica a cadeia "Testando 901" para o publisher service "MYPUBLISHER" no tópico "TESTS" que utiliza a política padrão (DB2.DEFAULT.POLICY) e nenhum identificador de correlação.
VALUES MQPUBLISH('Testando 901','TESTS')
Todos os exemplos retornam o valor '1' se bem-sucedidos.
>>-MQREADCLOB--(--+----------------------------------------+----> '-receive-service--+-------------------+-' '-,--service-policy-' >--)-----------------------------------------------------------><
O esquema é DB2MQ.
A função MQREADCLOB retorna uma mensagem da localização do MQSeries especificada pelo receive-service, utilizando a qualidade de política de serviço definida em service-policy. Executar esta operação não remove a mensagem da fila associada ao receive-service, mas em vez disso retorna a mensagem na cabeça da fila. O valor de retorno é um CLOB com comprimento máximo de 1MB contendo a mensagem. Se nenhuma mensagem estiver disponível para ser executada, um NULL será retornado.
Exemplos:
Exemplo 1: Este exemplo lê a mensagem na cabeça da fila especificada pelo serviço padrão (DB2.DEFAULT.SERVICE), utilizando a política padrão (DB2.DEFAULT.POLICY).
VALUES MQREADCLOB()
Exemplo 2: Este exemplo lê a mensagem na cabeça da fila especificada pelo serviço "MYSERVICE" utilizando a política padrão (DB2.DEFAULT.POLICY).
VALUES MQREADCLOB('MYSERVICE')
Exemplo 3: Este exemplo lê a mensagem na cabeça da fila especificada pelo serviço "MYSERVICE" e utilizando a política "MYPOLICY".
VALUES MQREADCLOB('MYSERVICE','MYPOLICY')
Todos esses exemplos retornam o conteúdo da mensagem como um CLOB com um tamanho máximo de 1MB, se bem-sucedido. Se nenhuma mensagem estiver disponível, um NULL será retornado.
>>-MQRECEIVECLOB------------------------------------------------> >--(--+----------------------------------------------------------+--)->< '-receive-service--+-------------------------------------+-' '-,--service-policy--+--------------+-' '-,--correl-id-'
O esquema é DB2MQ.
A função MQRECEIVECLOB retorna uma mensagem da localização do MQSeries especificada por receive-service, utilizando a qualidade de política de serviço service-policy. Executar essa operação remove a mensagem da fila associada ao receive-service. Se o correl-id for especificado, a primeira mensagem com um identificador de correlação correspondente será retornada. Se correl-id não for especificado, a mensagem na cabeça da fila será retornada. O valor de retorno é um CLOB com comprimento máximo de 1MB contendo a mensagem. Se nenhuma mensagem estiver disponível para ser executada, um NULL será retornado.
Exemplos:
Exemplo 1: Este exemplo recebe a mensagem na cabeça da fila especificada pelo serviço padrão (DB2.DEFAULT.SERVICE), utilizando a política padrão (DB2.DEFAULT.POLICY).
VALUES MQRECEIVECLOB()
Exemplo 2: Este exemplo recebe a mensagem na cabeça da fila especificada pelo serviço "MYSERVICE" utilizando a política padrão (DB2.DEFAULT.POLICY).
VALUES MQRECEIVECLOB('MYSERVICE')
Exemplo 3: Este exemplo recebe a mensagem na cabeça da fila especificada pelo serviço "MYSERVICE" e utilizando a política "MYPOLICY".
VALUES MQRECEIVECLOB('MYSERVICE','MYPOLICY')
Exemplo 4: Este exemplo recebe a primeira mensagem com um ID de correlação que corresponde '1234' da cabeça da fila especificada pelo serviço "MYSERVICE" utilizando a política "MYPOLICY".
VALUES MQRECEIVECLOB('MYSERVICE',MYPOLICY','1234')
Todos esses exemplos retornam o conteúdo da mensagem como um CLOB com um tamanho máximo de 1MB, se bem-sucedido. Se nenhuma mensagem estiver disponível, um NULL será retornado.
>>-MQSEND--(--+----------------------------------------+--------> '-send-service--,--+-------------------+-' '-service-policy--,-' >--msg-data--+-------------------+--)-------------------------->< | (1) | '-,--correl-id------'
Notas:
O esquema é DB2MQ.
A função MQSEND envia os dados contidos em msg-data para a localização do MQSeries especificada em send-service e utilizando a qualidade de política de serviço definida pelo service-policy. Um identificador de correlação de mensagem definido pelo usuário opcional pode ser especificado pelo correl-id. A função retorna um valor '1' se bem-sucedida ou um valor '0' se malsucedida.
Exemplos:
Exemplo 1: Este exemplo envia a cadeia "Testando 123" para o serviço padrão (DB2.DEFAULT.SERVICE), utilizando a política padrão (DB2.DEFAULT.POLICY), sem nenhum identificador de correlação.
VALUES MQSEND('Testando 123')
Exemplo 2: Este exemplo envia a cadeia "Testando 345" para o serviço "MYSERVICE", utilizando a política "MYPOLICY", sem nenhum identificador de correlação.
VALUES MQSEND('MYSERVICE','MYPOLICY','Testando 345')
Exemplo 3: Este exemplo envia a cadeia "Testando 678" para o serviço "MYSERVICE", utilizando a política "MYPOLICY", com o identificador de correlação "TEST3".
VALUES MQSEND('MYSERVICE','MYPOLICY','Testando 678','TEST3')
Exemplo 4: Este exemplo envia a cadeia "Testando 901" para o serviço "MYSERVICE" utilizando a política padrão (DB2.DEFAULT.POLICY) e nenhum identificador de correlação.
VALUES MQSEND('MYSERVICE','Testando 901')
Todos os exemplos retornam um valor escalar '1' se bem-sucedidos.
>>-MQREADALLCLOB--(---------------------------------------------> >--+----------------------------------------+--+----------+-----> '-receive-service--+-------------------+-' '-num-rows-' '-,--service-policy-' >--)-----------------------------------------------------------><
O esquema é DB2MQ.
A função MQREADALLCLOB retorna uma tabela contendo as mensagens e os metadados de mensagens da localização do MQSeries especificada por receive-service, utilizando a qualidade da política de serviço service-policy. Executar esta operação não remove as mensagens da fila associadas ao receive-service.
Se num-rows for especificado, um máximo de num-rows mensagens será retornado. Se num-rows não for especificado, todas as mensagens disponíveis serão retornadas. A tabela retornada contém as seguintes colunas:
Exemplos:
Exemplo 1: Este exemplo recebe todas as mensagens da fila especificadas pelo serviço padrão (DB2.DEFAULT.SERVICE), utilizando a política padrão (DB2.DEFAULT.POLICY). As mensagens e todos os metadados são retornados como uma tabela.
SELECT * Tabela FROM (MQREADALLCLOB()) T
Exemplo 2: Este exemplo recebe todas as mensagens da cabeça da fila especificada pelo serviço MYSERVICE, utilizando a política padrão (DB2.DEFAULT.POLICY). Apenas as colunas MSG e CORRELID são retornadas.
SELECT T.MSG, T.CORRELID Tabela FROM (MQREADALLCLOB('MYSERVICE')) T
Exemplo 3: Este exemplo lê a cabeça da fila especificada pelo serviço padrão (DB2.DEFAULT.SERVICE), utilizando a política padrão (DB2.DEFAULT.POLICY). Apenas as mensagens com um CORRELID de '1234' são retornadas. Todas as colunas são retornadas.
SELECT * Tabela FROM (MQREADALLCLOB()) T WHERE T.CORRELID = '1234'
Exemplo 4: Este exemplo recebe as 10 primeiras mensagens da cabeça da fila especificada pelo serviço padrão (DB2.DEFAULT.SERVICE), utilizando a política padrão (DB2.DEFAULT.POLICY). Todas as colunas são retornadas.
SELECT * Tabela FROM (MQREADALLCLOB(10)) T
>>-MQRECEIVEALLCLOB--(------------------------------------------> >--+----------------------------------------------------------+--> '-receive-service--+-------------------------------------+-' '-,--service-policy--+--------------+-' '-,--correl-id-' >--+-----------------+--)-------------------------------------->< '-+---+--num-rows-' '-,-'
O esquema é DB2MQ.
A função MQRECEIVEALLCLOB retorna uma tabela contendo as mensagens e os metadados de mensagens da localização do MQSeries especificada por receive-service, utilizando a qualidade da política de serviço service-policy. Executar esta operação remove as mensagens da fila associadas ao receive-service.
Se um correl-id for especificado, apenas estas mensagens com um identificador de correlação correspondente serão retornadas. Se correl-id não for especificado, a mensagem na cabeça da fila será retornada.
Se num-rows for especificado, um máximo de num-rows mensagens será retornado. Se num-rows não for especificado, todas as mensagens disponíveis serão retornadas. A tabela retornada contém as seguintes colunas:
Exemplos:
Exemplo 1: Este exemplo recebe todas as mensagens da fila especificadas pelo serviço padrão (DB2.DEFAULT.SERVICE), utilizando a política padrão (DB2.DEFAULT.POLICY). As mensagens e todos os metadados são retornados como uma tabela.
SELECT * Tabela FROM (MQRECEIVEALLCLOB()) T
Exemplo 2: Este exemplo recebe todas as mensagens da cabeça da fila especificada pelo serviço MYSERVICE, utilizando a política padrão (DB2.DEFAULT.POLICY). Apenas as colunas MSG e CORRELID são retornadas.
SELECT T.MSG, T.CORRELID Tabela FROM (MQRECEIVEALLCLOB('MYSERVICE')) T
Exemplo 3: Este exemplo recebe todas as mensagens na cabeça da fila especificada pelo serviço "MYSERVICE", utilizando a política "MYPOLICY". Apenas as mensagens com um CORRELID de '1234' são retornadas. Apenas as colunas MSG e CORRELID são retornadas.
SELECT T.MSG, T.CORRELID Tabela FROM (MQRECEIVEALLCLOB('MYSERVICE','MYPOLICY','1234')) T
Exemplo 4: Este exemplo recebe as 10 primeiras mensagens da cabeça da fila especificada pelo serviço padrão (DB2.DEFAULT.SERVICE), utilizando a política padrão (DB2.DEFAULT.POLICY). Todas as colunas são retornadas.
SELECT * Tabela FROM (MQRECEIVEALLCLOB(10)) T
As funções do MQSeries (as definidas no esquema DB2MQ) incluem agora a funcionalidade que permite que elas sejam utilizadas com dados CLOB além dos dados VARCHAR. Em alguns casos, existe uma nova função para tratar do tipo de dados CLOB, em outros, a função já existente trata dos dados CLOB e dados VARCHAR. Independente do caso, a sintaxe da função CLOB é idêntica à de sua VARCHAR equivalente. As funções que suportam a utilização de dados CLOB e de suas funções VARCHAR equivalentes são listadas na seguinte tabela:
Tabela 18. Funções do MQSeries que suportam o tipo de dados CLOB
Função a ser utilizada para dados VARCHAR | Função a ser utilizada para dados CLOB |
---|---|
MQPUBLISH | MQPUBLISH |
MQREAD | MQREADCLOB |
MQRECEIVE | MQRECEIVECLOB |
MQSEND | MQSEND |
MQREADALL | MQREADALLCLOB |
MQRECEIVEALL | MQRECEIVEALLCLOB |
Para obter informações sobre como ativar as funções do MQSeries (aquelas definidas no esquema DB2MQ), consulte a seção MQSeries.