Entwickler-Ecke

Datenbanken - Fehler beim Initialisieren der BDE (Fehler $210D)


baka0815 - Di 25.10.11 10:23
Titel: Fehler beim Initialisieren der BDE (Fehler $210D)
Hallo zusammen,

wenn ich z.B. die BDE-Konfiguration öffne und dann ein Programm starte das über Session.GetAliasNames() auf die BDE-Konfiguration zugreift bekomme ich die folgende Meldung;


Quelltext
1:
Bei der Initialisierung der Borland Database Engine ist ein Fehler aufgetreten (Fehler $210D).                    


Mir ist das ganze soweit klar, als dass die Konfigurationsdatei der BDE gesperrt ist. Soweit kann ich das auch nachvollziehen und empfinde es auch als logisch - man sollte nicht die Konfiguration ändern, während man mit einem anderen Programm darauf zugreift.

Allerdings tritt das Problem auch ohne die BDE-Konfiguration auf, wenn ein Programm z.B. auf die Session (globale Variable vom Typ TSession in der DBTables.pas) zugreift und dann ein anderes Programm gestartet wird, das ebenfalls auf die Session zugreifen möchte.
Bisher funktioniert es dann nur, wenn ich das eine Programm schließe und erst danach das andere Programm starte.

In beiden Programmen muss ich nur lesend auf die BDE zugreifen und ändere keine Einstellungen. Trotzdem sperren sie sich.

Gibt es eine Möglichkeit die BDE-Konfiguration wieder freizugeben?


jasocul - Di 25.10.11 10:38

Über den Einsatz der BDE lasse ich jetzt mal kein Wort fallen. :lol:
Vielleicht hilft dir das weiter: BDE im Netzwerk [http://www.kleingartenvereine.de/update/bde/bde_opt2.html]


baka0815 - Di 25.10.11 16:02

LOCAL_SHARE steht bei mir auf TRUE, daran kann es also nicht liegen.

Dass man die BDE eigentlich nicht mehr verwenden sollte ist mir klar und vor allem "General SQL Error" bringt mich zur Weißglut - JA WELCHER DENN! - und wenn ich könnte würde ich die BDE auch nicht mehr einsetzen, leider werden wir die BDE vermutlich frühestens im Frühjahr 2012 aus unseren Programmen entfernen können.

Bis dahin würde ich das Problem gerne lösen - bzw. am besten vorher. ;-)


jasocul - Di 25.10.11 16:43

:mrgreen:
Da ich nicht weiß, welche DB ihr einsetzt, gebe ich dir mal einen Link, wo ein paar grundsätzliche Infos stehen:
http://mc-computing.com/databases/BDE.html

Falls ihr Paradox einsetzt, dann kann es sein, dass es genügt, die PDOXUSRS.NET zu löschen. Aber der Einsatz ist bei mir schon viele Jahre her. Kann also durchaus sein, dass ich das nicht ganz korrekt in Erinnerung habe. Vielleicht ist das auch die völlig falsche Fährte.

EDIT:
Habe noch was gefunden, was wohl eher zu deinem Problem passt:
http://entwickler-forum.de/archive/index.php/t-15814.html


jaenicke - Di 25.10.11 16:56

Mit einem anderen Wert für SHAREDMEMLOCATION lässt sich das Problem oft beheben. Möglich sind wie in dem verlinkten Thread auch steht Werte zwischen 1000 und 7F00. SHAREDMEMSIZE sollte 4096 sein, kann aber in Schritten von 2^10 erhöht werden.


baka0815 - Mi 26.10.11 10:50

Die verwendete Datenbank scheint keine Rolle zu spielen (Oracle und MSSQL). Allerdings steht im INIT der BDE der DEFAULT DRIVER auf PARADOX.

SHAREDMEMSIZE steht bereits auf 131072 (ist laut dem letzten Link aber dann vermutlich zu hoch), SHAREDMEMLOCATION ist allerdings leer.

Sieht so aus als bliebe einem nichts übrig als mit den Werten rumzuspielen... ätzend...

Aber danke euch für die Tipps!