Notas sobre o Release


43.6 Informações do MQSeries

43.6.1 Funções Escalares

43.6.1.1 MQPUBLISH

>>-MQPUBLISH--(------------------------------------------------->
 
>--+---------------------------------------------+--msg-data---->
   '-publisher-service--,--+-------------------+-'
                           '-service-policy--,-'
 
>--+---------------------------------+--)----------------------><
   '-,--topic--+-------------------+-'
               |              (1)  |
               '-,--correl-id------'
 
 

Notas:

  1. O correl-id não pode ser especificado a menos que um service e um policy sejam definidos anteriormente.

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.

publisher-service
Uma cadeia que contém o destino lógico do MQSeries, onde a mensagem deve ser enviada. Se especificado, o publisher-service deve se referir a um publisher Service Point definido no arquivo de repositório AMT.XML. Um ponto de serviço é um nó de extremidade lógico a partir do qual uma mensagem é enviada ou recebida. As definições do ponto de serviço incluem o nome do MQSeries Queue Manager e da Fila. Consulte o MQSeries Application Messaging Interface para obter detalhes adicionais. Se o publisher-service não for especificado, o DB2.DEFAULT.PUBLISHER não será utilizado. O tamanho máximo de publisher-service é de 48 bytes.
service-policy
Uma cadeia que contém o MQSeries AMI Service Policy a ser utilizado no tratamento dessa mensagem. Se especificado, o service-policy deve se referir a um Policy definido no arquivo de repositório AMT.XML. Um Service Policy define um conjunto de qualidade de opções de serviço que deve ser aplicado a essa operação de mensagem. Essas opções incluem a prioridade e a persistência da mensagem. Consulte a publicação MQSeries Application Messaging Interface para obter detalhes adicionais. Se service-policy não for especificado, o DB2.DEFAULT.POLICY padrão será utilizado. O tamanho máximo de service-policy é de 48 bytes.
msg-data
Uma expressão de cadeia que contém os dados a serem enviados através do MQSeries. O tamanho máximo se a cadeia do tipo VARCHAR for de 4000 bytes. Se a cadeia for um CLOB, ela poderá ter até 1MB de tamanho.
topic
Uma expressão de cadeia que contém o tópico para a publicação da mensagem. Se nenhum tópico for especificado, ninguém será associado à mensagem. O tamanho máximo de topic é de 40 bytes. Vários tópicos podem ser especificados em uma cadeia (até 40 caracteres). Cada tópico deve ser separado por uma dois pontos. Por exemplo, "t1:t2:o terceiro tópico" indica que a mensagem está associada a todos os três tópicos: t1, t2 e "o terceiro tópico".
correl-id
Uma expressão de cadeia opcional que contém um identificador de correlação a ser associado a esta mensagem. O correl-id é freqüentemente especificado em cenários do pedido e da resposta para associar os pedidos às respostas. Se nenhum for especificado, nenhum ID de correlação será incluído na mensagem. O tamanho máximo de correl-id é de 24 bytes.

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.

43.6.1.2 MQREADCLOB

>>-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.

receive-service
Uma cadeia que contém o destino lógico do MQSeries de onde a mensagem deve ser recebida. Se especificado, o receive-service deve se referir a um Service Point definido no arquivo de repositório AMT.XML. Um ponto de serviço é um nó de extremidade lógico de onde uma mensagem é enviada ou recebida. As definições de pontos de serviços incluem o nome do MQSeries Queue Manager e da Fila. Consulte o MQSeries Application Messaging Interface para obter detalhes adicionais. Se receive-service não for especificado, o DB2.DEFAULT.SERVICE será utilizado. O tamanho máximo de receive-service é de 48 bytes.
service-policy
Uma cadeia que contém o MQSeries AMI Service Policy utilizado no tratamento dessa mensagem. Se especificado, o service-policy deve se referir a um Policy definido no arquivo de repositório AMT.XML. Um Service Policy define um conjunto de qualidade de opções de serviço que deve ser aplicado a essa operação de mensagem. Essas opções incluem a prioridade e a persistência da mensagem. Consulte a publicação MQSeries Application Messaging Interface para obter detalhes adicionais. Se service-policy não for especificado, o DB2.DEFAULT.POLICY padrão será utilizado. O tamanho máximo de service-policy é de 48 bytes.

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.

43.6.1.3 MQRECEIVECLOB

>>-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.

receive-service
Uma cadeia que contém o destino lógico do MQSeries do qual a mensagem deve ser recebida. Se especificado, o receive-service deve se referir a um Service Point definido no arquivo de repositório AMT.XML. Um ponto de serviço é um nó de extremidade lógico a partir do qual uma mensagem é enviada ou recebida. As definições de pontos de serviços incluem o nome do MQSeries Queue Manager e da Fila. Consulte o MQSeries Application Messaging Interface para obter detalhes adicionais. Se receive-service não for especificado, o DB2.DEFAULT.SERVICE será utilizado. O tamanho máximo de receive-service é de 48 bytes.
service-policy
Uma cadeia que contém o MQSeries AMI Service Policy a ser utilizado no tratamento dessa mensagem. Se especificado, o service-policy deverá se referir a um Policy definido no arquivo de repositório AMT.XML 1 . Se service-policy não for especificado, o DB2.DEFAULT.POLICY padrão será utilizado. O tamanho máximo de service-policy é de 48 bytes.
correl-id
Uma cadeia que contém um identificador de correlação opcional a ser associado a esta mensagem. O correl-id é freqüentemente especificado em cenários do pedido e da resposta para associar os pedidos às respostas. Se não for especificado, nenhum ID de correlação será utilizado. O tamanho máximo de correl-id é de 24 bytes.

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.

43.6.1.4 MQSEND

>>-MQSEND--(--+----------------------------------------+-------->
              '-send-service--,--+-------------------+-'
                                 '-service-policy--,-'
 
>--msg-data--+-------------------+--)--------------------------><
             |              (1)  |
             '-,--correl-id------'
 
 

Notas:

  1. O correl-id não pode ser especificado a menos que um service e um policy sejam definidos anteriormente.

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.

msg-data
Uma expressão de cadeia que contém os dados a serem enviados através do MQSeries. O tamanho máximo será de 4000 bytes se os dados forem do tipo VARCHAR e de 1MB se os dados forem do tipo CLOB.
send-service
Uma cadeia que contém o destino lógico do MQSeries, onde a mensagem deve ser enviada. Se especificado, o send-service refere-se a um ponto de serviço definido no arquivo de repositório AMT.XML. Um ponto de serviço é um nó de extremidade lógico a partir do qual uma mensagem é enviada ou recebida. As definições do ponto de serviço incluem o nome do MQSeries Queue Manager e da Fila. Consulte a publicação MQSeries Application Messaging Interface para obter detalhes adicionais. Se send-service não for especificado, o valor DB2.DEFAULT.SERVICE será utilizado. O tamanho máximo de send-service é de 48 bytes.
service-policy
Uma cadeia que contém o MQSeries AMI Service Policy utilizado no tratamento dessa mensagem. Se especificado, o service-policy deve se referir a uma política de serviço definida no arquivo de repositório AMT XML. Um Service Policy define um conjunto de qualidade de opções de serviço que deve ser aplicado a essa operação de mensagem. Essas opções incluem a prioridade e a persistência da mensagem. Consulte a publicação MQSeries Application Messaging Interface para obter detalhes adicionais. Se service-policy não for especificado, um valor padrão de DB2.DEFAULT.POLICY será utilizado. O tamanho máximo de service-policy é de 48 bytes.
correl-id
Uma cadeia opcional que contém um identificador de correlação associado a esta mensagem. O correl-id é freqüentemente especificado em cenários do pedido e da resposta para associar os pedidos às respostas. Se não for especificado, nenhum ID de correlação será especificado. O tamanho máximo de correl-id é de 24 bytes.

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.

43.6.2 Funções da Tabela

43.6.2.1 MQREADALLCLOB

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

receive-service
Uma cadeia que contém o destino lógico do MQSeries a partir do qual a mensagem é lida. Se especificada, o receive-service deverá se referir a um ponto de serviço definido no arquivo de repositório AMT.XML. Um ponto de serviço é um nó de extremidade lógico a partir do qual uma mensagem é enviada ou recebida. As definições do ponto de serviço incluem o nome do MQSeries Queue Manager e da Fila. Consulte o MQSeries Application Messaging Interface para obter detalhes adicionais. Se receive-service não for especificado, o DB2.DEFAULT.SERVICE será utilizado. O tamanho máximo de receive-service é de 48 bytes.
service-policy
Uma cadeia que contém o MQSeries AMI Service Policy utilizado no tratamento dessa mensagem. Se especificado, o service-policy refere-se a um Policy definido no arquivo de repositório AMT XML. Um service policy define um conjunto de qualidade de opções de serviço que deve ser aplicado a essa operação de mensagem. Essas opções incluem a prioridade e a persistência da mensagem. Consulte a publicação MQSeries Application Messaging Interface para obter detalhes adicionais. Se service-policy não for especificado, o DB2.DEFAULT.POLICY padrão será utilizado. O tamanho máximo de service-policy é de 48 bytes.
num-rows
Um inteiro positivo que contém o número máximo de mensagens a ser retornado pela função.

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

43.6.2.2 MQRECEIVEALLCLOB

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

receive-service
Uma cadeia que contém o destino lógico do MQSeries do qual a mensagem deve ser recebida. Se especificada, o receive-service deverá se referir a um ponto de serviço definido no arquivo de repositório AMT.XML. Um ponto de serviço é um nó de extremidade lógico a partir do qual uma mensagem é enviada ou recebida. As definições do ponto de serviço incluem o nome do MQSeries Queue Manager e da Fila. Consulte a publicação MQSeries Application Messaging Interface para obter detalhes adicionais. Se receive-service não for especificado, o DB2.DEFAULT.SERVICE será utilizado. O tamanho máximo de receive-service é de 48 bytes.
service-policy
Uma cadeia que contém o MQSeries AMI Service Policy utilizado no tratamento dessa mensagem. Se especificado, o service-policy refere-se a um Policy definido no arquivo de repositório AMT XML. Um service policy define um conjunto de qualidade de opções de serviço que deve ser aplicado a essa operação de mensagem. Essas opções incluem a prioridade e a persistência da mensagem. Consulte a publicação MQSeries Application Messaging Interface para obter detalhes adicionais. Se service-policy não for especificado, o DB2.DEFAULT.POLICY padrão será utilizado. O tamanho máximo de service-policy é de 48 bytes.
correl-id
Uma cadeia opcional que contém um identificador de correlação associado a esta mensagem. O correl-id é freqüentemente especificado em cenários do pedido e da resposta para associar os pedidos às respostas. Se não for especificado, nenhum ID de correlação será especificado. O tamanho máximo de correl-id é de 24 bytes.
num-rows
Um inteiro positivo que contém o número máximo de mensagens a ser retornado pela função.

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

43.6.3 Dados CLOB Agora São Suportados nas Funções do MQSeries

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.


Notas de rodapé:

1
Um Service Policy define um conjunto de opções de qualidade de serviço que devem ser aplicadas a essa operação de mensagens. Essas opções incluem a prioridade e a persistência da mensagem. Consulte a publicação MQSeries Application Messaging Interface para obter detalhes adicionais.


[ Início da Página | Página Anterior | Próxima Página | Índice | Índice Remissivo ]