Tabella dbModel.access
La tabella dbModel.access configura l'accesso al database.
La seguente tabella mostra lo schema per la tabella di database dbModel.access .
Nome colonna |
Vincoli |
Tipo di dati |
Descrizione |
|---|---|---|---|
| EnumGroupFilter | NOT NULL | Testo | Elenca i gruppi di enumerazioni contenenti le enumerazioni che è possibile utilizzare nelle mappe di entità definite nella tabella dbModel.entityMap. Le
enumerazioni sono definite nella tabella enumerations nel database della topologia NCIM. |
| TransactionLength | NOT NULL | Numero intero | Il numero di istruzioni SQL da eseguire all'interno di una singola transazione durante il caricamento della topologia prima del commit. |
| WebTopDataSource | NOT NULL | Testo | Il nome dell'origine dati Webtop da utilizzare. Questo valore può essere diverso dal nome ObjectServer. |
| DomainHost | Testo | Il nome host a cui si connette Topoviz. È impostato nella voce per ncp_config nel file di configurazione ServiceData.cfg. Questo campo deve essere lasciato vuoto, a meno che non sia necessario sovrascrivere questo valore. | |
| DomainPort | Numero intero | La porta a cui si connette Topoviz. È impostato nella voce per ncp_config nel file di configurazione ServiceData.cfg. Questo campo deve essere lasciato vuoto, a meno che non sia necessario sovrascrivere questo valore. |
Esempio: utilizzo di un filtro del gruppo di enumerazione e della mappa di entità
Nella
tabella workingEntities.finalEntity, il tipo di interfaccia OSPF viene memorizzato nell'elenco enumerato
m_OspfIfState, contenuto nel campo m_ExtraInfo. Il valore del campo m_OspfIfState è un singolo numero intero, ad esempio 3. m_OspfIfState corrisponde a ospfIfState nel database della topologia NCIM. Le
enumerazioni per ospfIfState sono definite per
enumGroup ospfIfType nella tabella enumerations nel database NCIM,
come mostrato nel seguente output di esempio:
> select * from enumerations where enumGroup = 'ospfIfType';
> go
+------------+---------+-------------------+-----------------+
| ENUMGROUP | ENUMKEY | ENUMVALUE | ENUMDESCRIPTION |
+------------+---------+-------------------+-----------------+
| ospfIfType | 1 | broadcast | |
| ospfIfType | 2 | nbma | |
| ospfIfType | 3 | pointToPoint | |
| ospfIfType | 5 | pointToMultipoint | |
+------------+---------+-------------------+-----------------+Il seguente inserimento di esempio include ospfIfType (visualizzato qui in grassetto) nelle enumerazioni da scaricare:
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"
);Nel seguente esempio di inserimento nel database
dbModel.entityMap, m_ospfIfType (visualizzato in grassetto)
dalla tabella workingEntities.finalEntity viene associato alla
colonna ospfIfType nella tabella ospfEndPoint nel database della topologia NCIM.
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
);Poiché l'enumerazione per ospfIfType è
stata scaricata, il valore intero di ospfIfType dalla tabella
workingEntities.finalEntity viene associato a una stringa significativa nel record nel database della topologia NCIM. Ad esempio,
invece di 3, il valore per il tipo di interfaccia viene memorizzato come pointToPoint.