dbModel.access 表
dbModel.access 表用于配置数据库访问。
下表显示了 dbModel.access 数据库表的模式。
列名 |
约束 |
数据类型 |
描述 |
|---|---|---|---|
| EnumGroupFilter | NOT NULL | 文本 | 列示枚举组,这些枚举组包含可以在 dbModel.entityMap
表中定义的实体映射中使用的枚举。 这些枚举在 NCIM 拓扑数据库中的 enumerations 表中定义。 |
| TransactionLength | NOT NULL | 整数 | 在拓扑上载期间,落实前要在单个事务中执行的 SQL 语句数。 |
| WebTopDataSource | NOT NULL | 文本 | 要使用的 Webtop 数据源的名称。 此值可以与 ObjectServer 名称不同。 |
| DomainHost | 文本 | Topoviz 所连接的主机名。 这在 ServiceData.cfg 配置文件中 ncp_config 的条目中设置。 除非您需要覆盖此值,否则此字段应该保留为空。 | |
| DomainPort | 整数 | Topoviz 所连接的端口。 这在 ServiceData.cfg 配置文件中 ncp_config 的条目中设置。 除非您需要覆盖此值,否则此字段应该保留为空。 |
示例:使用枚举组过滤器和实体映射
在 workingEntities.finalEntity 表中,OSPF 接口类型存储在
m_OspfIfState 枚举列表中,该列表包含在 m_ExtraInfo
字段中。 m_OspfIfState 字段的值是单个整数,例如 3。 m_OspfIfState 对应于 NCIM 拓扑数据库中的 ospfIfState 。 ospfIfState
的枚举针对 NCIM 数据库中 enumerations 表中的
enumGroup ospfIfType 进行定义,如以下示例输出所示:
> select * from enumerations where enumGroup = 'ospfIfType';
> go
+------------+---------+-------------------+-----------------+
| ENUMGROUP | ENUMKEY | ENUMVALUE | ENUMDESCRIPTION |
+------------+---------+-------------------+-----------------+
| ospfIfType | 1 | broadcast | |
| ospfIfType | 2 | nbma | |
| ospfIfType | 3 | pointToPoint | |
| ospfIfType | 5 | pointToMultipoint | |
+------------+---------+-------------------+-----------------+以下 insert 语句示例包含要下载的枚举中的 ospfIfType(在此处以粗体显示):
insert into dbModel.access
(
EnumGroupFilter,
TransactionLength,
WebTopDataSource
)
values
(
"enumGroup in ('ASN' , 'sysServices', 'ifAdminStatus', 'ifOperStatus',
'sysServices', 'ifType', 'ifOperStatusToOperationalStatus',
'entPhysicalClass', 'cefcFRUPowerAdminStatus', 'cefcFRUPowerOperStatus',
'TruthValue','TruthValueString', 'entSensorType', 'entSensorScale',
'entSensorStatus', 'cefcModuleAdminStatus', 'cefcModuleOperStatus',
'ipForwarding', 'cefcPowerRedundancyMode', 'EntityType', 'ospfIfState',
'ospfIfType', 'dot3StatsDuplexStatus', 'accessProtocol', 'cdmDuplex',
'OperationalStatusEnum')",
500,
"NCOMS"
);对 dbModel.entityMap 数据库执行的以下 insert 语句示例显示了
workingEntities.finalEntity 表中的 m_ospfIfType(以粗体显示)映射到
NCIM 拓扑数据库中 ospfEndPoint 表中的 ospfIfType
列。
insert into dbModel.entityMap
(
EntityFilter,
TableName,
FieldMap,
StitcherDefined
)
values
(
"m_ObjectId = 'OSPF_PROTOCOL_ENDPOINT'",
'ospfEndPoint',
{
entityId = "eval(int, '&m_EntityId')",
areaId = "eval(text, '&m_ExtraInfo->m_AreaId')",
ospfIfAdminStat = "eval(int, '&m_ExtraInfo->m_OspfIfAdminStat')",
ospfIfState = "eval(text, 'LOOKUP(&m_ExtraInfo->m_OspfIfState, &&ospfIfState)')",
ospfIfType = "eval(text, 'LOOKUP(&m_ExtraInfo->m_OspfIfType, &&ospfIfType)')",
defaultCost = "eval(int, '&m_ExtraInfo->m_Cost')"
},
1
);由于已下载 ospfIfType 的枚举,因此
workingEntities.finalEntity 表中 ospfIfType 的整数值映射到
NCIM 拓扑数据库中的记录中的有意义字符串。 例如,接口类型的值存储为
pointToPoint,而不是存储为 3。