Schema Datenbanken
Die ObjectStore® Datenbank hält die Information über das Layout der Klassen (der in der Datenbank gespeicherten Objekte) in Schema Datenbanken.
Im ClassiX®-System sind die Schema-Datenbanken den DLLs zugeordnet, in denen der C++-Code für die entsprechenden Klassen zu finden ist:
DLL | enthält Programmcode für | Schema-Datenbank |
---|---|---|
cxbosr.dll | Basis-Klassen | schema_b.adb |
cxoosr.dll | Klassen für COM-/OLE-Objekte | schema_o.adb |
cxmosr.dll | CyberEnterprise® | schema_m.adb |
Der Zugriff zu den Schema-Datenbanken läuft, genau so wie bei den "normalen" Datenbanken, über den ObjectStore® Server; im Gegensatz zu den DLLs müssen sie also dort liegen, wo auch ein Server läuft.
Wie werden die Schema-Datenbanken beim Start des ClassiX® Systems gefunden?
Eine Besonderheit von ObjectStore® besteht darin, dass auch in den DLLs ein Pfad zur zugehörigen Schema-Datenbank gespeichert wird. Dieser Pfad kann mit einem zu ObjectStore® gehörenden Utility ossetasp verändert werden.
In der Startphase sucht ObjectStore® die Schemata in dieser Reihenfolge:
- nach dem in den DLLs implantierten Pfad: dies ist bei ClassiX® einfach der Name der Schema Datenbank. Somit wird im aktuellen Directory gesucht.
- in dem Directory (bzw. den Directories), die mit der Umgebungsvariable OS_SCHEMA_PATH angegeben wurden
- in allen Directories, aus denen DLLs geladen werden können, d.h. entsprechend der Umgebungsvariablen PATH
Bei der Installation eines ClassiX® Systems soll die Umgebungsvariable OS_SCHEMA_PATH genutzt werden, um die erforderliche Flexibilität zu bewahren.
Das Implantieren eines Schema-Pfades in den DLLs wird nicht empfohlen.
Werden Schema-Datenbanken in einem Verzeichnis gefunden, welches auf einem Rechner ohne ObjectStore-Server liegt, kann dies zu spürbaren Verzögerungen beim Starten von ClassiX führen.
Was ist zu tun, wenn die richtigen Schemata nicht gefunden werden?:
- Umgebungsvariable OS_SCHEMA_PATH überprüfen
- Überprüfen, ob über die anderen Wege (1. und 3.) falsche (= veraltete) Schema-Datenbanken gefunden werden können.
- Wenn keine Schema-Datenbanken gefunden werden wird in einer Fehlermeldung angezeigt, wo alles gesucht wird. Prüfen Sie, woher diese Pfade kommen und passen Sie ggf. PATH oder OS_SCHEMA_PATH an.