Borland Database Engine
Quicklink: BDE-Installation
Die Borland Database Engine, kurz BDE regelt die Zugriffe auf Paradox-Tabellen. Sie wird von verschiedenen Anwendungen verwendet, was zu Problemen führen kann, wenn man mehrere Anwendungen gleichzeitig verwendet. Wird mit der ersten Anwendung die zugehörige DLL geladen, können anschließend keine Änderungen an den Einstellungen vorgenommen werden. Sie müssen also zuerst alle BDE-Anwendungen auf dem entsprechenden PC beenden, bevor Sie die Einstellungen anpassen können. Dabei wird gerne der Reminder vergessen, welcher nur als Icon in der Notification Area (Taskbar rechts) angezeigt und zumeist ausgeblendet wird. Über einen Rechtsklick auf das Icon können Sie diesen schließen.
Da die BDE zu einer Zeit entwickelt wurde, als PCs noch nicht mit mehreren Gigabyte Hauptspeicher ausgerüstet wurden, geht sie bei der Installation sehr Ressourcen schonend vor. Doch schon bei zwei parallelen Anwendungen können die voreingestellten Werte an ihre Genzen stoßen. Deshalb sollten Sie nach der Installation einige Werte erhöhen. Es wird oft empfohlen, den Wert für LOCAL SHARE auf TRUE zu setzen. Dies ist aber nur nötig, wenn Sie FaktuLux auf einem lokalen PC einsetzen und gleichzeitig Anderen über ein Netwerk Zugriff gewähren, wovon wir aber ausdrücklich abraten. Beim Einsatz als Einzelplatzversion oder über einen dedizierten Netzwerkserver belassen Sie den Wert auf FALSE.
Inhaltsverzeichnis
Haftung
Da sich noch immer einige Anwendungen im Umlauf befinden, die mit der BDE arbeiten, können Änderungen an der BDE-Konfiguration dazu führen, dass diese Programme nicht mehr einwandfrei funktionieren. Deshalb geschehen diese Änderungen auf eigenes Risiko und wir können keine Haftung für etwaige negative Folgen übernehmen. Sollte die BDE auf einem PC bereits installiert sein, raten wir dazu, vor jeder Änderung die zuvor Eingetragenen Werte zu notieren um diese ggf. wiederherstellen zu können.
BDE-Einträge in der Windows Registry
In der Windows Registry befinden sich Werte für die BDE, welche nicht durch Änderungen mit dem BDE-Admin angepasst werden. Diese dienen als Vorgabewerte, wenn der BDE-Admin keine Datei IDAPI32.CFG vorfinden kann. Deshalb sollten Sie diese Werte auch anpassen. Am einfachsten geschieht dies über den Import von Registry-Schlüsseln.
Verwenden Sie die Dateien aus dem BDE-Verzeichnis von FaktuLux oder kopieren Sie folgenden Text in eine Datei mit der Endung .reg. Führen sie diese Datei per Doppelklick im Explorer aus.
Für 32-Bit Windowsversionen verwenden Sie:
Windows Registry Editor Version 5.00 [HKEY_LOCAL_MACHINE\SOFTWARE\Borland\Database Engine\Settings\SYSTEM\INIT] "AUTO ODBC"="FALSE" "DATA REPOSITORY"="" "DEFAULT DRIVER"="PARADOX" "LANGDRIVER"="DBWINWE0" "LOCAL SHARE"="FALSE" "LOW MEMORY USAGE LIMIT"="32" "MAXBUFSIZE"="8192" "MAXFILEHANDLES"="64" "MEMSIZE"="32" "MINBUFSIZE"="2048" "MTS POOLING"="FALSE" "SHAREDMEMLOCATION"="5000" "SHAREDMEMSIZE"="8192" "SQLQRYMODE"="" "SYSFLAGS"="0" "VERSION"="4.0" [HKEY_LOCAL_MACHINE\SOFTWARE\Borland\Database Engine\Settings\DRIVERS\PARADOX\INIT] "LANGDRIVER"="DBWINWE0" [HKEY_LOCAL_MACHINE\SOFTWARE\Borland\Database Engine\Settings\DRIVERS\PARADOX\TABLE CREATE] "BLOCK SIZE"="4096"
Für 64-Bit Windowsversionen:
Windows Registry Editor Version 5.00 [HKEY_LOCAL_MACHINE\SOFTWARE\Borland\Database Engine\Settings\SYSTEM\INIT] "AUTO ODBC"="FALSE" "DATA REPOSITORY"="" "DEFAULT DRIVER"="PARADOX" "LANGDRIVER"="DBWINWE0" "LOCAL SHARE"="FALSE" "LOW MEMORY USAGE LIMIT"="32" "MAXBUFSIZE"="8192" "MAXFILEHANDLES"="64" "MEMSIZE"="32" "MINBUFSIZE"="2048" "MTS POOLING"="FALSE" "SHAREDMEMLOCATION"="5000" "SHAREDMEMSIZE"="8192" "SQLQRYMODE"="" "SYSFLAGS"="0" "VERSION"="4.0" [HKEY_LOCAL_MACHINE\SOFTWARE\Borland\Database Engine\Settings\DRIVERS\PARADOX\INIT] "LANGDRIVER"="DBWINWE0" [HKEY_LOCAL_MACHINE\SOFTWARE\Borland\Database Engine\Settings\DRIVERS\PARADOX\TABLE CREATE] "BLOCK SIZE"="4096" [HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Borland\Database Engine\Settings\SYSTEM\INIT] "AUTO ODBC"="FALSE" "DATA REPOSITORY"="" "DEFAULT DRIVER"="PARADOX" "LANGDRIVER"="DBWINWE0" "LOCAL SHARE"="FALSE" "LOW MEMORY USAGE LIMIT"="32" "MAXBUFSIZE"="8192" "MAXFILEHANDLES"="64" "MEMSIZE"="32" "MINBUFSIZE"="2048" "MTS POOLING"="FALSE" "SHAREDMEMLOCATION"="5000" "SHAREDMEMSIZE"="8192" "SQLQRYMODE"="" "SYSFLAGS"="0" "VERSION"="4.0" [HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Borland\Database Engine\Settings\DRIVERS\PARADOX\INIT] "LANGDRIVER"="DBWINWE0" [HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Borland\Database Engine\Settings\DRIVERS\PARADOX\TABLE CREATE] "BLOCK SIZE"="4096"
Eine besondere Bedeutung kommt dem Wert SHAREDMEMSIZE zu. Unzählige Tests haben ergeben, dass die BDE den im BDE-Admin hinterlegten Wert zu ignorieren scheint. Erst nach dem Eintrag in der Windows Registry verschwand bei einigen PCs die Fehlermeldung bzgl. unzureichendem Speicher.
Die BDE-Verwaltung
Das Verwaltungsprogramm für die BDE-Einstellungen nennt sich BDEADMIN.EXE. Es speichert seine Werte per Vorgabe in der Datei IDAPI32.CFG. Es hat sich unter Windows Vista, 7 und 8 bewährt, dieses nicht über die Systemsteuerung, sondern explizit aus dem Explorer heraus mit Administratorrechten auszuführen. Je nach Installation finden Sie es im Programme-Verzeichnis (bei 64bit Versionen in "Programme (x86)") im Unterverzeichnis Borland\Gemeinsame Dateien\BDE oder Gemeinsame Dateien\Borland Shared\BDE. Das Verzeichnis Programme heißt je nach Windows-Version und verwendetem Dateimanager auch Program Files, Gemeinsame Dateien auch Common Files. Starten Sie den BDE-Admin ohne Administratorrechten und versuchen Änderungen zu speichern, landen diese nicht in der IDAPI32.CFG, sondern in einer Kopie der Datei im User-Verzeichnis unterhalb von \AppData\Local\VirtualStore und das Programm hängt sich auf, sofern zur gleichen Zeit eine laufende Anwendung auf die BDE zugreift.
Haben Sie das Verwaltungsprogramm gestartet, müssen Sie unter dem Reiter Konfiguration (je nach Sprachversion auch Configuration) an zwei Stellen Änderungen vornehmen.
Zweig: Treiber / Native / PARADOX
Wählen Sie im linken Fenster den Eintrag Driver / Native / PARADOX und überprüfen und ggf. ändern Sie folgende Werte: (Ist der Zweig Native leer, lesen Sie hier Hilfe)
- LANG DRIVER = 'WEurope' ANSI
- Der Sprachtreiber wird bei der Erstellung neuer Paradox-Tabellen verwendet und in der Tabelle hinterlegt. Mit falschem Sprachtreiber lassen sich Sonderzeichen wie das € nicht darstellen. Zur Änderung des Sprachtreibers in einer bestehenden Tabelle können Sie z.B. mit Hilfe unseres Tools DataLux eine Kopie der Tabelle erzeugen.
- NET DIR = [...]
- Klicken Sie das Feld an und wählen Sie über die rechts eingeblendete Schaltfläche mit den drei Punkten das Verzeichnis, in das Sie FaktuLux installiert haben.
- Hintergrund: Beim Einsatz von FaktuLux als Einzelplatzversion müssen Sie ab der Windows-Version Vista die Vorbelegung C:\ ändern, da diese für Schreibzugriffe im Root Administratorrechte verlangen. Wenn Sie FaktuLux hingegen in einem Netzwerk mit mehreren Arbeitsstationen verwenden wollen, muss das NET DIR an allen PCs auf das gleiche physikalische Verzeichnis verweisen. In beiden Fällen ist das FaktuLux-Verzeichnis die ideale Lösung.
- FaktuLux kann beim Start das NetDir auch automatisch zuweisen. Unter Windows XP hat sich das lange Jahre bewährt. Jedoch muss FaktuLux dafür ab Windows Vista mit Administratorrechten gestartet werden. Andernfalls wird die Änderung zwar wirksam, FaktuLux stürzt aber ab. Und waren zu diesem Zeitpunkt andere BDE-Anwendungen aktiv, sind auch diese nicht mehr bedienbar. Das ganze Betriebssystem muss anschließend neu gestartet werden, um wieder einen reibungslosen Betrieb gewährleisten zu können (siehe Problem VirtualStore).
- In der FaktuLux.ini im Schlüssel [System] können Sie das Verhalten über den Wert SetNetDir einstellen. Zusätzlich kann über den Programmstart-Parameter ND= ein alternatives Verzeichnis übergeben werden. Hat SetNetDir den Wert 1 und wurde beim Start kein Parameter übergeben, versucht FaktuLux das NetDir auf das eigene Programmverzeichnis zu verlegen.
- BLOCK SIZE = 4096
- Die Block-Size wird wie der Sprachtreiber für die Anlage neuer Paradox-Tabellen verwendet. Sie entscheidet darüber, wieviele Datensätze eine Tabelle aufnehmen kann. Wurde eine Tabelle mit einer zu kleinen Block-Size erzeugt und ist ihre Kapazitätsgrenze erreicht, erhalten Sie die Fehlermeldung "table full", wenn Sie neue Datensätze eintragen wollen. Mit Hilfe unseres Tools DataLux können Sie die Block-Size von Tabellen überprüfen und problemlos ändern.
Sprachtreiber und Blocksize
Die Werte für Sprachtreiber und Blocksize müssen unbedingt richtig konfiguriert sein, bevor Sie den Dialog Quick-Start bestätigen. Anschließend werde sämtliche fehlenden Tabellen mit diesen beiden Werten erzeugt. Ein nachträgliches Ändern der BDE-Konfiguration wirkt sich nur auf neue Tabellen aus. Der Sprachtreiber wird in jeder Tabelle hinterlegt und der Wert Blocksize entscheidet über die maximale Anzahl an Datensätzen, die eine Tabelle aufnehmen kann. Mit unserem Programm DataLux lassen sich Paradox-Tabellen analysieren und ggf. die Blocksize ändern.
Zweig: System / INIT
Wählen Sie im linken Fenster den Eintrag System / INIT und ändern Sie die Werte gemäß nachstehender Tabelle.
LANGDRIVER | 'WEurope' ANSI |
LOCAL SHARE | FALSE |
MAXBUFSIZE | 8192 |
MAXFILEHANDLES | 64 |
MEMSIZE | 32 |
MINBUFSIZE | 2048 |
SHAREDMEMLOCATION | 5000 |
SHAREDMEMSIZE | 8192 |
Anschließend beenden Sie den BDE-Admin und bejahen die Frage nach dem Speichern der Änderungen.
BDE-Fehler $210D
Bei Systemen mit 64Bit Windows und großem Hauptspeicher tritt von Zeit zu Zeit der BDE-Fehler $210D auf, wenn mehrere BDE-Anwendungen gleichzeitig ausgeführt werden sollen. Dann hilft es, mit dem Wert für SHAREDMEMLOCATION zu experimentieren. Versuchen Sie die Werte 7000, 5000, 4000, 3000, 2000 oder jeden anderen Wert zwischen 1000 und 7F00.
Da die richtige Konfiguration der BDE so aufwändig und nirgends erschöpfend dokumentiert ist, wird oft von ihrem Einsatz abgeraten. Wir habe jedoch mehrere Netwerke mit über 20 PCs, teilweise mit Windows 8.1 64Bit, im Einsatz und halten ihre Tücken für beherrschbar.