Borland Database Engine (BDE)


C-BANK ist eine dateibasierte Datenbankanwendung, die über die Borland-Database-Engine (BDE) auf die Daten zugreift. Das ermöglicht den Zugriff auf unterschiedlichste Datenquellen in verschiedenen Formaten.

Standardmäßig ist diese BDE so konfiguriert, dass ein System ohne weitere Eingriffe läuft.

Der Datenzugriff von C-BANK über die BDE lässt sich jedoch durch Optimierung der System/INIT-Einstellungen in der BDE verbessern. Dazu können unten aufgeführte Vorschläge herangezogen werden.  



Die System-INIT-Einstellungen werden beim Start einer Anwendung, hier C-BANK, verwendet. Alle Informationen werden in der Windows-Registrierung abgelegt.

Die Einstellungen können folgendermaßen angezeigt werden:


1.        Starten Sie die BDE-Verwaltung:

       Start | Einstellungen | Systemsteuerung | BDE-Verwaltung
       Sollte der Eintrag "BDE-Verwaltung" in der Systemsteuerung fehlen, dann im Verzeichnis C:\Program Files\Common Files\Borland\BDE die Datei BDEADMIN.EXE starten

2.        Klicken Sie das Register Configuration im linken Bereich des Fensters der BDE-Verwaltung an und öffnen Sie den Zweig Configuration.

3.        Öffnen Sie den Zweig System.

4.        Öffnen Sie den Zweig INIT.

       Die Einstellungen werden auf der Seite Definition im rechten Bereich angezeigt.


Im Folgendem sind die Parameter mit sämtlichen konfigurierbaren System- und Netzwerk-Parametern und deren aktuellen Werten aufgelistet. Wenn Sie Ihre BDE-Anwendung zum ersten Mal installieren, werden für alle Parameter Standardwerte eingesetzt.


Zum Ändern einer Einstellung markieren Sie den gewünschten Parameter, und ersetzen Sie den alten mit dem neuen Wert. Wenn Sie die Bearbeitung abgeschlossen haben, wählen Sie Objekt|Übernehmen oder klicken Übernehmen an, um die Änderungen zu speichern.



AUTO ODBC        

Setzen Sie diesen Parameter auf TRUE, um bei jeder Initialisierung der BDE installierte ODBC-Treiber und Datenquellen zu importieren.

Vorgabewert: FALSE. Hinweis: AUTO ODBC muss aufgrund der Einstellung des Konfigurationmodus auf Virtual nicht mehr auf TRUE gesetzt werden. Weitere Informationen finden Sie unter Dialogfeld Optionen.


DATA REPOSITORY        

Der Name des aktiven Data Dictionary.


DEFAULT DRIVER        

Der Treiber, der zuerst geladen wird, wenn TYPE auf FILE gesetzt wurde und der Tabellenname keine Erweiterung besitzt. Gibt für Dateien mit der Erweiterung .DBF auch an, ob der dBASE oder FoxPro-Treiber verwendet wird.

Einstellung: DBASE


LANGDRIVER        

Enthält die Bezeichnung des Systemsprachtreibers. Standard ist der jeweilige länderspezifische OEM-Treiber in Abhängigkeit von der länderspezifischen Windows-Version, z.B. 'ascii' ANSI (DBWINUS0) für USA.

Einstellung: 'WEurope' ANSI


LOCAL SHARE

Legt fest, wie eine Dateisperrung zwischen einer aktiven BDE-Anwendung und einer aktiven Nicht-BDE-Anwendung durchzuführen ist. Möchten Sie mit einer BDE- und einer Nicht-BDE-Anwendung dieselben Dateien gleichzeitig bearbeiten, muss die Option auf TRUE gesetzt werden. (Sie brauchen LOCAL SHARE nicht auf TRUE zu setzen, wenn beide Anwendungen nicht gleichzeitig geöffnet sein müssen.)


Einstellung:

Für serverbasierte Anwendungen/Netzwerke mit Windows-Servern muss LOCAL SHARE auf TRUE gesetzt werden, bei Servern unter Linux oder Novell setzen Sie LOCAL SHARE auf FALSE.

Für Peer-To-Peer-Netzwerke sollte ebenfalls TRUE eingetragen sein.



LOW MEMORY

USAGE LIMIT

Legt die höchste Anzahl des niedrigen Speicherbereichs (in KB) fest, der von BDE verwendet werden kann.

Vorgabewert: 32.


MAXBUFSIZE        

Enthält die maximale Größe des Speichers (in KB), der als Cachepuffer für die Daten einer Datenbank zugeordnet werden soll. Dieser Eintrag kann ein beliebiger ganzzahliger durch 128 teilbarer Wert zwischen MINBUFSIZE und 65.535 sein. Je mehr Arbeitsspeicher zur Verfügung steht, um so größer kann der Wert sein.

Empfehlung: 16384


MAXFILEHANDLES

Enthält die maximale Anzahl der Datei-Handles, die BDE verwenden darf. Der Eintrag kann ein ganzzahliger Wert zwischen 5 und 4096 sein. Bei höheren Werten erhöht sich die Arbeitsgeschwindigkeit, es werden aber auch mehr Windows-Ressourcen belegt. Wenn Sie innerhalb C-BANK eine Fehlermeldung erhalten, dass keine weiteren Dateien geöffnet werden können, sollten Sie diesen Wert erhöhen.

Vorgabewert: 48

Empfehlung: 4096


MEMSIZE

Legt die maximale Größe des Arbeitsspeichers (in MB) fest, der von BDE verwendet werden kann.

Vorgabewert: 16 MB. Maximum: 205 MB. Bei Angabe einer höheren Zahl als 205 wird MEMSIZE auf 205 gesetzt.

Empfehlung: 205


MINBUFSIZE

Enthält die minimale Größe des Speichers (in KB), der als Cachepuffer für die Daten einer Datenbank reserviert werden soll. Dieser Eintrag kann ein beliebiger ganzzahliger Wert zwischen 32 und 65535 sein, muss aber kleiner sein als die Größe des für Windows verfügbaren RAM.

Empfehlung: 4096


SHAREDMEMSIZE        Legt die maximale Größe des Arbeitsspeichers (in KB) fest, der von BDE für gemeinsam genutzte Ressourcen verwendet werden kann.

Vorgabewert: 2048 KB, Minimum: 2048

Wird ein Wert unter 2048 angegeben, wird 2048 verwendet. Datei-Handles, Treiber und System-, Client- sowie Tabellenobjekte sind gemeinsam genutzte Ressourcen und SHAREDMEMSIZE sollte erhöht werden, wenn viele dieser Objekte verwendet werden.

Empfehlung: 16384


SHAREDMEMLOCATION

Mögliche Konflikte mit anderen Programmen können durch Eintragen eines Speicheroffsets bei SHAREDMEMLOCATION vermieden werden.

Bespielwerte: 0x5BDE oder 0x7BDE.


VERSION

Bei VERSION sollte 5.2 stehen, der Wert lässt sich über den BDEAdmin jedoch nicht ändern. Dazu muss der entsprechende Registrierungsschlüssel in der Registry geändert werden:

HKEY_LOCAL_MACHINE\SOFTWARE\Borland\Database Engine\Settings\SYSTEM\INIT -> VERSION 5.2



Wichtig ist ebenfalls ein Eintrag im Register "Configuration" und dem Zweig "Drivers-Native-PARADOX". Dort muss unter dem Eintrag "NET DIR" der Pfad eingetragen sein, in dem die Datei "PDOXUSRS.NET" liegt. Das ist entweder "C:\ProgramData\Common Files\Borland\BDE" oder auch "C:\ProgramData\Common Files\Borland\BDE\NETDIR". Dieser Pfad muss Schreibrechte für den Benutzer haben. In älteren C-BANK-Installationen kann diese Datei auch im Root-Verzeichnis des Systemlaufwerks liegen, was nach Microsoft-Richtlinien nicht erlaubt ist und daher Probleme verursachen kann.




Terminal-Server

Wird C-BANK auf einem Terminal-Server installiert, wird die BDE nur auf diesem Server installiert.

Folgende Einstellungen müssen dann in der BDE vorgenommen werden:


LOCAL SHARE muss auf TRUE gesetzt werden


Folgende Werte gelten für Arbeitsspeicher in der Größe 1 Gigabyte und für 10 bis 20 Anwender:


MAXBUFSIZE = 20480

MAXFILEHANDLES = 4096

MEMSIZE = 205

MINBUFSIZE = 10000

SHAREDMEMSIZE = 16384





Im Netzwerkbetrieb sollten Sie insbesondere folgende Dinge beachten und an allen Arbeitsplatzrechnern entsprechend berücksichtigen:


1.) Einheitlicher Netzlaufwerksbuchstabe


Der Start von C-BANK und die Datenbankeinträge sollten von allen Arbeitsplatzrechnern über den gleichen Netzlaufwerksbuchstaben oder besser über den einheitlichen UNC-Pfad erfolgen.

Folgende Situation sollte also nach Möglichkeit vermieden werden:


a) Arbeitsplatzrechner A startet "\\SERVER\CBANKWIN\BIN\CBANK.EXE"

b) Arbeitsplatzrechner B startet "M:\CBANKWIN\BIN\CBANK.EXE"

c) Arbeitsplatzrechner C startet "N:\CBANKWIN\BIN\CBANK.EXE"

d) Arbeitsplatzrechner D startet "O:\CBANK\CBANKWIN\BIN\CBANK.EXE"


Sollte eine solche Situation vorliegen, ist es empfehlenswert, über Neuinstallation eine einheitliche Struktur zu erreichen.


Prüfen Sie, ob auf dem Server eine Ordner-Freigabe für den MAKROS/Win-Programmordner eingerichtet ist, auf den sämtliche Arbeitsplatzrechner schreibend (!) zugreifen dürfen. Für diesen muss nun ein Netzlaufwerk eingerichtet werden. Richten Sie dieses auf allen Arbeitsplatzrechnern wie folgt ein:


Wählen Sie dazu die Funktion "Netzlaufwerk verbinden" im Windows-Explorer (Menü "Extras") zum Einrichten des Laufwerks, wählen einen für alle Arbeitsplatzrechner einheitlichen Laufwerksbuchstaben (z.B. "M:") und tragen den Freigabename auf dem Server ein (z.B. "\\Server\CBANK"). Achten Sie darauf, dass sämtliche Arbeitsplatzrechner schreibend (!) zugreifen dürfen.

Die Verknüpfung, mit der C-BANK vom Arbeitsplatzrechner aus aufgerufen wird, muss diesen Laufwerksbuchstaben verwenden. Hier sollte dann also beispielsweise "M:\IGF\C-BANK\BIN\CBANK.EXE" stehen.




2.) Registry-Parameter einfügen


In der Registry von Windows können zwei Parameter eingestellt werden, die den Netzwerkbetrieb der BDE positiv beeinflussen. Es wird damit das sogenannte "Opportunistische Locking" abgeschaltet.


Es handelt sich um die beiden folgenden Einträge:

HKLM\SYSTEM\CurrentControlSet\Services\MRXSmb\Parameters:OplocksDisabled = 1

HKLM\SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters:EnableOpLocks = 0


Hilfreich ist es auch, die Berechtigungen für den Schlüssel HKEY_LOCAL_MACHINE\SOFTWARE\Borland zu erweitern

- Registryschlüssel HKEY_LOCAL_MACHINE\SOFTWARE\Borland suchen
- mit Rechtsklick das Kontextmenü öffnen und Berechtigungen auswählen
- für "Benutzer" Vollzugriff erlauben


3.) Fehlermeldung beim Start von C-BANK oder RE-SA "Nicht genügend Arbeitsspeicher für diese Funktion"

Der Fehler kann durch andere Werte bei den Parametern SHAREDMEMSIZE und/oder SHAREDMEMLOCATION in der BDE behoben werden.


SHAREDMEMSIZE: Der Parameter SHAREDMEMSIZE legt die maximale Größe des Arbeitsspeichers (in KB) fest, der von BDE für gemeinsam genutzte (mehrfach geöffnete Applikationen) benutzt wird

- 7000 kann z.B. ein guter Wert für Windows 7, 8 oder 10 sein

- ist SHAREDMEMSIZE zu klein angegeben, kann das zum Fehler $2501 führen.

- ist SHAREDMEMSIZE zu groß angegeben, kann das zum Fehler $210D führen.

- eine funktionierende Einstellung von SHAREDMEMSIZE hängt von der Konfiguration des Rechners ab!


Wenn der Fehler weiterhin auftaucht, kann man folgende Werte nacheinander versuchen:

   4096 mit SHAREDMEMLOCATION="0x5BDE"

   8192 mit SHAREDMEMLOCATION="0x6BDE"


Wenn der Fehler weiterhin auftaucht, kann man folgende SHAREDMEMLOCATION-Werte nacheinander versuchen:

0x5BDE

0x7BDE

0x1000

0x7000

0x7F00

0x2000

0x3000

0x4000

oder kein Eintrag


Ebenfalls in der BDE festgelegt werden Parameter für den Datenimport wie z.B. Artikeldatenimport. Dafür ist insbesondere der Wert für das Dezimaltrennzeichen wichtig. Diese Werte werden unter dem Register "Configuration-System-Formats-Number" eingestellt. Alternativ können diese Einträge (Zeichenfolgen) auch in der Registry des Betriebssystems geändert bzw. erstellt werden:


\HKEY_LOCAL_MACHINE\SOFTWARE\Borland\Database Engine\Settings\SYSTEM\FORMATS\NUMBER


DECIMALDIGITS = 2

DECIMALSEPARATOR = ,

LEADINGZERON = TRUE

THOUSANDSEPARATOR = .