Loading...
 

Schema databases

Scheme Databases

The ObjectStore® database keeps the information about the layout of the classes (the objects stored in the database) in schema databases.
In the ClassiX® system, the schema databases are assigned to the DLLs, in which the C++ code for the corresponding classes can be found:

DLL contains program code for Scheme database
cxbosr.dll Basic Classes schema_b.adb
cxoosr.dll Classes for COM/OLE objects schema_o.adb
cxmosr.dll CyberEnterprise schema_m.adb

The access to the schema databases runs, just like with the "normal" databases, via the ObjectStore® Server; in contrast to the DLLs, they must therefore be located where a server also runs.

How are the schema databases found when starting the ClassiX® system?

A special feature of ObjectStore® is that a path to the corresponding schema database is also stored in the DLLs. This path can be changed with a utility ossetasp which belongs to ObjectStore®.

In the starting phase ObjectStore® searches the schemata in this order:

  1. according to the path implanted in the DLLs: with ClassiX® this is simply the name of the schema database. Thus the current directory is searched.
  2. in the directory (or directories) specified with the environment variable OS_SCHEMA_PATH
  3. in all directories from which DLLs can be loaded, i.e. according to the environment variable PATH

When installing a ClassiX® system, the environment variable OS_SCHEMA_PATH should be used to maintain the required flexibility.
The implantation of a schema path in the DLLs is not recommended.

If schema databases are found in a directory located on a computer without ObjectStore server, this can lead to noticeable delays when starting ClassiX.

What to do if the right schemes are not found? :

  • Check environment variable OS_SCHEMA_PATH
  • Check whether wrong (= outdated) schema databases can be found via the other ways (1. and 3.).
  • If no schema databases are found, an error message is displayed where everything is searched. Check where these paths come from and adjust PATH or OS_SCHEMA_PATH if necessary.