BITSTREAM 函数只为向后兼容保留。
ASBITSTREAM 返回 BLOB 类型的值,该值包含 FieldReference 及其子代所指向的字段的位流表示
通过这个方法,确定这些属性的算法实质上与用于 BITSTREAM 函数的方法相同。
某些解析器还支持另一种方式 FolderBitStream,如果所指向的字段表示一个文件夹,则该方式会为任何子树生成有效的位流。
在所有情况下,获得的位流提供给带有 PARSE 子句的 CREATE 语句,使用相同的 DOMAIN 和 OPTIONS 重新产生原始子树。
当调用此函数时,将求值任何子句表达式。如果以下任何表达式不生成相应类型的值,将抛出异常。
只要有一个参数是 NULL,结果便为 NULL。
子句 | 类型 | 缺省值 |
---|---|---|
Options | 整数 | RootBitStream & ValidateNone |
Encoding | 整数 | 0 |
Ccsid | 整数 | 0 |
Message set | 字符 | 零长度字符串 |
Message type | 字符 | 零长度字符串 |
Message format | 字符 | 零长度字符串 |
尽管 OPTIONS 子句接受任何返回值的类型为整数的表达式,但是只有从所提供常量的列表中生成选项值才是有效的(如果需要多个选项,使用 BITOR 函数)。
验证主选项... ValidateContentAndValue ValidateValue -- 可与 ValidateContent 一起使用 ValidateContent -- 可与 ValidateValue 一起使用 ValidateNone 验证故障操作选项... ValidateException ValidateExceptionList ValidateLocalError ValidateUserTrace 验证值约束选项... ValidateFullConstraints ValidateBasicConstraints 验证修正选项... ValidateFullFixUp ValidateNoFixUp
C 和 Java 的等价 API
每个组只能指定一个选项,但 ValidateValue 和 ValidateContent 除外,它们可以一起使用以获取内容和值验证。如果没有指定组中的选项,则使用粗体表示的选项。
0 MQENC_INTEGER_NORMAL MQENC_INTEGER_REVERSED MQENC_DECIMAL_NORMAL MQENC_DECIMAL_REVERSED MQENC_FLOAT_IEEE_NORMAL MQENC_FLOAT_IEEE_REVERSED MQENC_FLOAT_S3900 使用队列管理器的编码。
用于 CCSID 子句的值遵守常规的编号系统。例如,1200 = UCS-2,1208 = UTF-8。
0 -10 使用队列管理器的 CCSID,-1 使用解析器自身决定的 CCSID。保留该值。
对于没有出现的子句,使用给定的缺省值。请使用 CCSID 和编码缺省值,因为它们从队列管理器的编码和 CCSID 设置获取它们的值。
类似地,对每个消息集、类型和格式选项使用缺省值,因为许多解析器不需要消息集、类型或格式信息;因此,任何有效值就足够了。
ENCODING -> CCSID -> SET -> TYPE -> FORMAT -> OPTIONS
可在任何一点截断该列表,且可对任何您没有提供值的子句使用空表达式。
DECLARE options INTEGER BITOR(FolderBitStream, ValidateContent, ValidateValue); SET result = ASBITSTREAM(cursor OPTIONS options CCSID 1208); SET Result = ASBITSTREAM(Environment.Variables.MQRFH2.Data,,1208,,,,options);