Lade...
 

Layer

Layer

Eine Datenbank kann in Layer unterteilt sein (siehe CLASSIX.INI) um eine logische Datentrennung innerhalb einer Datenbank zu erreichen. Je nach gesetztem Layer wird eine andere Storage aus der File angesprochen und damit werden Objekte in einem anderen Segment allokiert und in einer anderen REP-Collection eingetragen (CreatePersObject) und gesucht (FindAll).

Es ist auch möglich (und manchmal sinnvoll), die gleiche Storage in unterschiedlichen Layern zu verwenden. Ein Objekt kann sich dann in mehreren Layern gleichzeitig befinden (siehe: CX_OBJECT_MANAGER::QueryAllLayers)

Mittels der Angabe AutoLayer können die Storages für weitere physische Datenbanken automatisch nach dem Schema aus der ersten Datenbank erstellt werden. In einer solchen Konfiguration sind die Objekte durch die Layer nicht nur logisch, sondern auch physisch auf unterschiedliche Datenbanken verteilt und mit dem Wechsel des Layers wird eine andere Datenbank angesprochen.


Wenn Objekte aus unterschiedlichen physischen Datenbanken miteinander verknüpft werden sollen, dann müssen die Datenbanken vorher miteinander verknüpft werden, ansonsten ist eine Querverbindung über Datenbankgrenzen hinweg nicht erlaubt. Hierfür gibt es das Utility cxgosuo.exe /AffA.

Layer werden vom Objektmanager verwaltet.

Damit man Information über das Datenbank-Layout mit InstantView® visualisieren kann, werden Layer durch Objekte der Klasse CXS_LAYER dargestellt, die man vom Objektmanager mit der Funktion GetLayers erhält.

CXS_LAYER verweist (mit Collection domains) auf alle in diesem Layer existierenden Domains.