第七章 使用系统类提供国家语言支持 - 使用 %Library.GlobalEdit 设置Global排序规则
使用 %Library.GlobalEdit
设置Global
排序规则
新创建的 Global
变量的排序规则自动设置为创建全局变量的数据库的默认排序规则。 IRIS
安装创建的数据库都设置为 IRIS
标准排序规则,但 USER
除外,它设置为安装 IRIS
的区域设置的默认排序规则。
创建数据库后,可以编辑其属性以更改其默认排序规则。可以选择 IRIS
标准、区域设置的默认排序规则或实例中加载的任何其他排序规则。一旦设置了数据库的默认排序规则,在此数据库中创建的任何全局变量都将使用此默认排序规则创建。
IRIS
还支持覆盖此行为并为全局指定自定义排序规则的能力。为此,请在提供所需排序规则的使用 %Library.GlobalEdit
类中的 Create()
方法:
Set sc = ##class(%Library.GlobalEdit).Create(ns,
global,
collation,
growthblk,
ptrblock,
keep,
journal,
.exists)
其中:
-
ns
— 指定命名空间,其中""
表示当前命名空间,或^^directoryname
引用特定目录。 -
global
— 指定Global
名称,包括前导^
,例如^cz2
。 -
collation
- 指定排序规则,其中排序规则是受支持的排序规则之一。 -
growthblk
- 指定数据的起始块。 -
ptrblk
- 指定指针的起始块。 -
keep
- 指定当Global
被杀死时是否保留Global
的目录条目。如果Global
被kill
,将此设置为1
会保留排序规则、保护和日志属性。 -
journal
- 此参数不再相关并被忽略。 -
exists
- 通过引用指定一个变量,该变量指示Global
变量是否已经存在。
在某些Global
变量需要与其他Global
变量不同的排序规则的环境中, 建议为每个不同的排序规则设置一个数据库,并在命名空间内添加一个全局映射,以将每个全局变量映射到具有其所需排序规则的数据库。此方法允许在不更改应用程序代码以专门使用 Create()
方法调用的情况下使用混合排序规则。
支持的排序
IRIS
支持以下内容,用于 CreateGlobal^%DM
子例程的整理参数:
- 5 — IRIS standard
- 10 — German1
- 11 — Portuguese1
- 12 — Polish1
- 13 — German2
- 14 — Spanish1
- 15 — Danish1
- 16 — Cyrillic1
- 17 — Greek1
- 18 — Czech1
- 19 — Czech2
- 20 — Portuguese2
- 21 — Finnish1
- — Cyrillic2
- 24 — Polish2
- 27 — French1
- 28 — Finnish2
- 29 — Hungarian1
- 30 — German3
- 31 — Polish3
- 32 — Spanish2
- 33 — Danish2
- 34 — Greek2
- 35 — Finnish3
- 36 — Lithuanian1
- 41 — Danish3
- 44 — Czech3
- 45 — Hungarian2
- 47 — Spanish3
- 49 — Spanish4
- 51 — Spanish5
- 52 — Finnish4
注意:要查看类似的列表,包括哪些排序规则已加载到实例中,请打开终端窗口,更改为 %SYS
命名空间,然后输入命令 DO ^COLLATE
。
%SYS>DO ^COLLATE
Status Number Abbrev Name
---------- ------ ------ ----------------------
Built-in 0 OANS ISM Pre-6.2
Built-in 1 ANSI ISM 6.2->6.4
Built-in 2 COBR Ipsum/Cobra
Built-in 3 DTMC DTM-compatible
Built-in 4 CBR2 Ipsum/Cobra-2
Built-in 5 UNIC IRIS standard
Not loaded 10 GER1 German1
Not loaded 11 POR1 Portuguese1
Not loaded 12 POL1 Polish1
Not loaded 13 GER2 German2
Not loaded 14 SPA1 Spanish1
Not loaded 15 DAN1 Danish1
Not loaded 16 CYR1 Cyrillic1
Not loaded 17 GRE1 Greek1
Not loaded 18 CZE1 Czech1
Not loaded 19 CZE2 Czech2
已安装语言环境的默认排序规则
新安装的 IRIS
区域设置的默认归类始终是归类的最新版本,即具有最高数字后缀的归类(如上一节中的列表所示)。例如,在使用西班牙语语言环境进行安装时,默认排序规则是 Spanish5
。支持旧版本的归类以与现有数据库兼容。
升级 IRIS
实例时,如果更新后的区域设置使用新的默认值,则会保留默认排序规则。例如,如果现有实例的语言环境使用 Finnish3
作为默认排序规则,而更新后的实例将使用 Finnish4
,则升级会将 Finnish3
保留为默认值,但使 Finnish4
可用于新的全局变量和数据库。
网友评论