MQSend() 函数

MQSend() 函数会将消息放入 WMQ 队列中。

语法

service_name
可选参数。引用 "gbasedbt".mqiservice 表的 servicename 列中的值。如果不指定 service_name,将把 IDS.DEFAULT.SERVICE 用作服务。service_name 的最大大小为 48 个字节。
policy_name
可选参数。引用 "gbasedbt".mqipolicy 表的 policyname 列中的值。如果不指定 policy_name,将把 IDS.DEFAULT.POLICY 用作策略。policy_name 的最大大小为 48 个字节。
msg_data
必需参数。一个字符串,其中包含将由 WMQ 发送的数据。字符串的最大大小由 LVARCHAR 数据类型定义。如果 msg_data 为 NULL,将向队列发送一条长度为零的消息。
correl_id
可选参数。一个字符串,其中包含要与此消息关联的相关标识。通常在请求与回复场景中指定 correl_id,以便将请求与回复关联。correl_id 的最大大小为 24 个字节。如果不指定,将不向消息添加任何相关标识。

用途

MQSend() 函数会将 msg_data 中包含的数据放入 service_name 指定的 WMQ 位置(使用 policy_name 定义的策略质量名称)。如果指定了 correl_id,将使用相关标识发送消息。如果不指定 correl_id,将不使用任何相关标识发送消息。

下表描述 MQSend() 函数自变量的解释方式。
表 1. MQSend() 自变量解释
用途 自变量解释
MQSend(arg1) arg1 = msg_data
MQSend(arg1, arg2) arg1 = service_name

arg2 = msg_data

MQSend(arg1, arg2, arg3) arg1 = service_name

arg2 = policy_name

arg3 = msg_data

MQSend(arg1, arg2, arg3, arg4) arg1 = service_name

arg2 = policy_name

arg3 = msg_data

arg4 = correl_id

返回码

1
操作成功。
0 或 Error
操作失败。

示例

示例 1
EXECUTE FUNCTION MQSend('Testing 123')
此示例使用以下参数将消息发送到 WMQ:
  • service_name:缺省服务名称
  • policy_name:缺省策略
  • msg_data:“Testing 123”
  • correl_id:无
示例 2
begin;
EXECUTE FUNCTION MQSend('MYSERVICE','Testing 901');
commit;
此示例使用以下参数将消息发送到 WMQ:
  • service_name:“MYSERVICE”
  • policy_name:缺省策略
  • msg_data:“Testing 901”
  • correl_id:无
示例 3
begin;
EXECUTE FUNCTION MQSend('MYSERVICE','MYPOLICY','Testing 345');
commit;
此示例使用以下参数将消息发送到 WMQ:
  • service_name:“MYSERVICE”
  • policy_name:“MYPOLICY”
  • msg_data:“Testing 345”
  • correl_id:无
示例 4
begin;
EXECUTE FUNCTION MQSend('MYSERVICE','MYPOLICY','Testing 678','TEST3');
commit;
此示例使用以下参数将消息发送到 WMQ:
  • service_name:“MYSERVICE”
  • policy_name:“MYPOLICY”
  • msg_data:“Testing 678”
  • correl_id:“TEST3”
1 请参阅『用法』一节以获取有关自变量解释的信息。