Lade...
 

CX_OBJECT_MANAGER::OpenDatabase (ab Dll-Version: 4.5.2.170077)

CX_OBJECT_MANAGER::OpenDatabase (ab Dll-Version: 4.5.2.170254)

Beschreibung:

öffnet die n-te logische Datenbank mit einem neuen Pfad. Damit kann eine andere physische Datenbank zugeordnet werden.
Als Pfad zur Datenbank kann - genau wie bei classix.ini
a) ein normaler Windows-Pfad
b) ein Pfad mit vorangestelltem Namen des ObjectStore-Servers
c) eine Environment-Variable angegeben werden

Für a) und b) wird CX_ROOTDIR automatisch ersetzt.

Eine vorher geöffnete Datenbank wird automatisch geschlossen.

Aufruf der Methode OpenDatabase innerhalb einer Transaktion ist ein Fehler - Rückgabewert = FALSE.

Die ersetzte Datenbank muss dem in classix.ini vorgegeben Layout bezüglich Segmenten und REP-Collections entsprechen!

InstantView® Code darf nach dem Wechsel der Datenbank nicht mehr mit Objekten aus der inzwischen inaktiven Datenbank arbeiten.
OpenDatabase hat keinen Einfluss auf den Wert von InstantView® -Variablen!
Für eine mögliche Technik, das zu verhindern siehe CX_SYSTEM_OBJECT։։ResetModules

Code-Beispiel:
"CX_ROOTDIR\\Database\\Evaluate\\classix.cxd" 2 GetManager(OBJECT) Call(OpenDatabase)
// or controlled by an environment variable
"CX_DATABASE_2" 2 GetManager(OBJECT) Call(OpenDatabase)

 

Stack
Stack Position Objekttyp Kurzbeschreibung
Stack(In) Top CX_OBJECT_MANAGER Der Objectmanager
  Top-1 INTEGER Nummer der Datenbank
  Top-2 STRING neuer Pfad
Stack(Out) Top INTEGER TRUE - open erfogreich, FALSE - ein Fehler ist aufgetreten
Funktionsaufruf: Call(OpenDatabase)

Verwandtes Thema: CloseDatabase, TestDatabaseServer