Lade...
 

CX_DB_UTILITY

CX_DB_UTILITY CX_DB_UTILITY.png

Klassenhierarchie
Beschreibung:

Dieses Tool-Objekt stellt Funktionen zur Manipulation von Objekten in der Datenbank bereit. Im Abgrenzung zu den Funktionen der Objektmanagers sind die Dienste des Database Utility Objekts als Hilfsmittel zur Fehleranalyse und Reparatur gedacht - nicht als Bestandteil von Anwendungen.
Die Funktionen besitzen alle ein Interface zu InstantView®, d.h. man kann sich mit InstantView® schnell die für ein bestimmtes Problem passenden Werkzeuge zusammenstellen.

Viele Funktionen identifizieren ein bestimmtes Objekt über seine Location in der Datenbank, die bei ObjectStore Version < 6.0 aus dem Tripel { Datenbank, Segment, Offset } und ab ObjectStore 6.0 aus dem Quintupel { Datenbank, Segment, Cluster, Offset, Mapping Granularity } besteht.
Die (physische) Datenbank wird bei ObjectStore durch den vollständigen Pfad (als Zeichenkette) angegeben: lange Form der Location.
Im ClassiX®-System kann die physische Datenbank mit { 0, 1 ... } codiert angegeben werde: Kurzform der Location. Alle Funktionen erkennen Kurzformen und konvertieren sie automatisch in die entsprechende Langform. Beispiele:

  ObjectStore < 6.0 ObjectStore >= 6.0
lang /y:/classix/path/to/database.cxd | 72 | b908> /y:/classix/path/to/database.cxd |72|2c|a08|1000>
kurz <0 | 72 | b908> <0|72|2c|a08|1000>

Einige Funktionen analysieren den Output von Programmen zur Datenbankwartung:  

Programm Funktionen des CX_DB_UTILITY-Objekts
osverifydb.exe ImportVerifyDBLog
cxaosr.exe -A (Datenbankanalyse) GetCorruptObjectsEx, GetCorruptObjectsSel, GetCorruptObjectsLoc
cxcosr.exe -1 (Prüfsumme 1) GetOrphans
cxcosr.exe -1 (Prüfsumme 2) GetObjectsWithChecksumDifference
cxlosr.exe (Laden -> das Gateway-File) GetObjectInNewDatabase
Code-Beispiel:
Get DBUtility-Object
// get CX_DB_UTILITY object
Var(dbUtil)
GetManager(OBJECT) Call(GetDBUtility) -> dbUtil
Methodenverzeichnis (MDI)
Funktion MA* Parameter Rückgabe Kurzbeschreibung
AffiliateDB   INTEGER, INTEGER   Cross-Databasepointer von einer Datenbank in eine andere erlauben
AnalyzeObject   OBJECT STRING  Objekt testen
BackptrCount   OBJECT INTEGER Mit wie vielen Indizes ist dieses Objekt verbunden?
CheckSum   OBJECT VECTOR Check-Summe berechnen
CheckVerificationResults   STRING STRING überprüfen eines Verifikations-Resultat
CleanseFrame   OBJECT   dynamischen Datenfelder aufgeben 
ClearBackptr   OBJECT   Verbindungen von diesem Objekt zu all seinen Indizes kappen
ClearCollection   OBJECT, STRING   alle Elemente aus der Kollektion entfernen  
ClearPointer   STRING, STRING, STRING, INTEGER   Einen Pointer auf NULL setzen
CollectionTypeInfo   OBJECT, STRING VECTOR Rückgabe: Typnamen aller Elemente der Kollektion 
DBDumpFile     OBJECT  Rückgabe: CX_DB_DUMP_FILE 
DeregisterREPColl   STRING   Meldet eine REP-Collection ab.
DumpCollection
213694
  COLLECTION, STRING INTEGER Schreibt alle persistenten Objekte der Collection eine Datei. (Für MoveFrameBatch)
ErrorMsg   OBJECT STRING  Fehlermeldung zu Objekt finden 
Exists   STRING INTEGER  Prüft, ob an einer Adresse ein persistentes Datum liegt
ExportCollection   COLLECTION, STRING   Adressen von Objekten in  einer Collection exportieren
FindAll   INTEGER, INTEGER COLLECTION Findet alle Objekte eines Typs
FindCorruptObjects   COLLECTION VECTOR Nach korrupten Objekte suchen
FindFormulaConstants   COLLECTION, INTEGER COLLECTION  
FindObjectsReferencingPosition   STRING, INTEGER, INTEGER, INTEGER   Find alle Objekte, die einen bestimmten Ort in der Datenbank referenzieren
FindObjectsReferencingPosition2   STRING, INTEGER, INTEGER, INTEGER, INTEGER, INTEGER   Find alle Objekte, die einen bestimmten Ort in der Datenbank referenzieren,
mit erweitertem AS-Handling und partieller Suche in einem Segment
FindReferencingObjects   STRING INTEGER  X-Ref  aufbauen 
FindSlots   VECTOR, COLLECTION, INTEGER COLLECTION  
GetCorruptObjectsEx   STRING, VECTOR, VECTOR COLLECTION  liefert die Objekte aus einem Fehlerprotokoll
GetCorruptObjectsLoc   STRING, VECTOR, VECTOR, INTEGER VECTOR  wie GetCorruptObjectsEx gibt die Datenbank-Locations zurück
GetCorruptObjectsSel   STRING, VECTOR, VECTOR COLLECTION  liefert die Objekte aus einem Fehlerprotokoll
GetLocation   ANY STRING  liefert die Location eines Datums 
GetObjectInNewDatabase   STRING, STRING OBJECT  Objekt in neu geladener Datenbank mit Location aus alter Datenbank finden
GetObjectsWithChecksumDifference   STRING, INTEGER VECTOR alle Objekte mit unterschiedlicher Prüfsumme 
GetOrphans   STRING, INTEGER VECTOR die beim Entladen entdeckten nicht erreichbaren Objekte
GetOwner   OBJECT X OBJECT Y Liefert das Objekt Y, welches als Member das Objekt x enthält
GetOwnerOfDSCO   STRING OBJECT Liefert das Objekt, in dessen Speicher die DSCO-Adresse fällt
GrabObject   STRING OBJECT  Objekt mittels Location finden
GetREPs   STRKING, STRING VECTOR Alle REPs einer Datenbank finden
GetREPCollByName   STRING, STRING COLLECTION Eine REP-Collection mit ihrem Namen finden
GetREPObjectByName   STRING, STRING OBJECT Eine REP-Objekt mit Namen finden
GetTypeAt   ANY STRING Liefert den Typ eines Datums
GetTypeAtDSCO   STRING STRING Liefert den Typ eines Objekts an der DSCO-Adresse
ImplantList   OBJECT, STRING, COLLECTION   Korrupte "embedded" Collections reparieren
ImplantSet   OBJECT, STRING, COLLECTION   Korrupte "embedded" Collections reparieren
ImportVerifyDBLog   STRING VECTOR liefert alle Objekte, für die osverifydb.exe einen Fehler gemeldet hat
IndexesOfCollection   COLLECTION STRING Indizes einer Collection
InsertIntoCollection   COLLECTION, STRING   Objekt per Objekt-ID in die Collection einfügen
KillREPColl   STRING   Meldet eine REP ab und löscht sie.
MoveFrame
213694
  COLLECTION, INTEGER   Reallokiert die Frames der übergebenen Objekte um Platz im Cluster freizugeben.
MoveFrameBatch
213694
  STRING, INTEGER, INTEGER   Wie MoveFrame, nur dass der Prozess jederzeit unterbrechbar und fortsetzbar ist.
PartialXRefParams   STRING, COLLECTION    
RebuildCollection   COLLECTION, INTEGER INTEGER Collection neu aufbauen
RemoveAlienObjects   OBJECT, STRING INTEGER  entfernt typ-fremde Objekte aus einer Collection 
RemoveFromCollection   COLLECTION, STRING   Objekt aus Collection entfernen
RemoveFromREPCollection   STRING, OBJECT   entfernt Objekt aus einer REP-Collection
RepairCollection   COLLECTION INTEGER  entfernt alle Pointer auf corrupte Objekte aus einer Collection
RepairFrame   OBJECT, INTEGER INTEGER  Reparatur für dynamischen Datenfelder 
SetCollAsREP   COLLECTION, STRING, STRING   Registriert eine Collection an einem REP
SetObjectAsREP   OBJECT, STRING, STRING   Registriert ein Objekt an einem REP
SubstituteObject   OBJECT, INTEGER, INTEGER OBJECT  Objekt ersetzen
SubstituteObjectInCollection   OBJECT, STRING, OBJECT, OBJECT   ein Objekt durch ein anderes in einer vorgegebenen Collection ersetzen
SelectiveCopy   OBJECT, OBJECT, VECTOR INTEGER  kopiert Datenfelder des Quellen-Objekts in das Zielobjekt
UnloadCorruptObject   OBJECT, STRING INTEGER  entlädt ein Objekt 
UnloadObject   OBJECT, STRING   entlädt ein Objekt -
UnloadObject2   OBJECT, OBJECT   wie UnloadObject aber mit CX_ASCII_FILE als Parameter 2 
VerifyDatabase   STRING, INTEGER   verifiziert die Datenbank
VerifySegments   STRING, VECTOR, INTEGER   verifiziert eine Liste an Segmenten

* MA = Member-Access-Funktion

 

Verwendung in AppsWH
Modul Kurzbeschreibung
   

InstantView Scriptsprache