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
- 操作失败。
示例
示例 1EXECUTE FUNCTION MQSend('Testing 123')
此示例使用以下参数将消息发送到 WMQ:
- service_name:缺省服务名称
- policy_name:缺省策略
- msg_data:“Testing 123”
- correl_id:无
示例 2begin;
EXECUTE FUNCTION MQSend('MYSERVICE','Testing 901');
commit;
此示例使用以下参数将消息发送到 WMQ:
- service_name:“MYSERVICE”
- policy_name:缺省策略
- msg_data:“Testing 901”
- correl_id:无
示例 3begin;
EXECUTE FUNCTION MQSend('MYSERVICE','MYPOLICY','Testing 345');
commit;
此示例使用以下参数将消息发送到 WMQ:
- service_name:“MYSERVICE”
- policy_name:“MYPOLICY”
- msg_data:“Testing 345”
- correl_id:无
示例 4begin;
EXECUTE FUNCTION MQSend('MYSERVICE','MYPOLICY','Testing 678','TEST3');
commit;
此示例使用以下参数将消息发送到 WMQ:
- service_name:“MYSERVICE”
- policy_name:“MYPOLICY”
- msg_data:“Testing 678”
- correl_id:“TEST3”