第八章 配置命名空间(三)
Routine Mappings
可以在覆盖命名空间例程的默认数据库映射的例程级别向命名空间添加映射:
- 导航到命名空间页面(系统管理 > 配置 > 系统配置 > 命名空间),然后单击要在其中映射全局的命名空间行中的常规映射。
- 在常规映射页面中,单击新建。
- 选择例程所在的
Routine database location
数据库。 - 输入例程名称。映射时例程不必存在(也就是说,它可以是计划创建的例程的名称)。
- 单击确定。
注意:新映射行的第一列中显示的 >>
表示已打开映射进行编辑。
- 要将映射保存在
cpf
文件中,请单击保存更改。
例如,使用前面的测试命名空间映射示例,如果计划在机场数据库(在 FlightSchedule
命名空间中)中创建一个计划例程(例如 BOSZZairline
),并且希望它对 TravelAgent
命名空间中的用户可用,请导航到 Routine Mappings
页面(在 TravelAgent
命名空间行中),然后单击 New Routine Mapping
。输入如下例程映射对话框中所示的信息:
Include files
Other routines
Classes
Tables
Globals
根据需要使用额外的例程、包和全局映射,以确保这些项目在目标命名空间中可用。
Package Mappings
可以添加一个类包映射,使特定数据库中包中的所有类(以及为这些类生成的所有例程)对另一个命名空间可见:
- 导航到命名空间页面(系统管理 > 配置 > 系统配置 > 命名空间)并单击要在其中映射包的命名空间行中的包映射。
- 在包映射页面中,单击新建。
- 选择包所在的包数据库位置数据库。
- 选择包名称。映射时包不必存在(即可以是计划创建的包的名称);你可以指定一个新的包名,如下:
a. 单击新建包。
b. 在新包名称文本框中,输入名称。
- 单击确定。
注意:新映射行的第一列中显示的 >>
表示已打开映射进行编辑。
- 要将映射保存在
cpf
文件中,请单击保存更改。
重要提示:当映射一个包时,请务必识别该包中的类所需的所有代码和数据,并确保所有这些代码和数据在所有目标命名空间中都可用。映射的类可能依赖于以下项目:
Include files
Other routines
Classes
Tables
Globals
使用额外的例程、包和全局映射,以确保这些项目在目标命名空间中可用。
将数据映射到所有命名空间
除了将全局变量、例程和包映射到特定命名空间之外,还可以将它们映射到所有命名空间。要启用这种形式的映射:
- 首先,创建一个名为
%ALL
的命名空间,如创建/修改命名空间部分所述。
注意:%ALL
是不可见的,除非是为了映射数据;也就是说,它不是真正的命名空间,而是一种将数据映射到所有命名空间的机制。
- 然后,在
%ALL
命名空间中进行所需的映射,如将全局、例程和包映射添加到命名空间部分中所述。
这些 %ALL
映射适用于所有命名空间。不能为在 %ALL
命名空间中映射的资源创建特定于命名空间的映射,因为 %ALL
映射会覆盖到同一资源的任何特定于命名空间的映射。
注意:%ALL
映射适用于每个命名空间,包括 %SYS
。可以通过创建覆盖实例所依赖的例程或全局的映射来破坏某些功能。
使用 %ALL
时,应该创建尽可能窄的映射。此外,请严格遵守身份识别规则和指南;特别是,不要为要避免的全局名称中列出的任何全局变量创建 %ALL
映射。
当在 %ALL
命名空间中创建下标级映射时,会自动创建根全局到 %DEFAULTDB
的映射。 %DEFAULTB
变量代表任何给定命名空间的默认数据库。
删除命名空间
可以删除命名空间,包括与其关联的所有映射:
- 导航到命名空间页面(系统管理 > 配置 > 系统配置 > 命名空间),然后单击要删除的命名空间行中的删除。
- 在
Delete Namespaces
页面上,如果要从物理路径中删除Web Gateway
页面,请选中该复选框。 - 要删除命名空间和关联的映射,请单击立即执行操作。