Bei einem SQL-Befehl mit der BDE liefert mein Programm seit kurzem immer wieder denselben Fehler:
* beim Start aus der IDE heraus:<br>
<b>Zugriffsverletzung</b> bei Adresse 4B E3 46 A7 in Modul IDAPI32.DLL<br>
(Wenn ich das Debug-Fenster 'CPU' richtig verstehe, handelt es sich um die interne Funktion OsWsFree.)<br>
Schreiben von Adresse 3F 51 4B 34
* anschließend folgt:<br>
<b>Zugriffsverletzung</b> bei Adresse 4B E3 47 2F in Modul IDAPI32.DLL<br>
Schreiben von Adresse 3F 51 4B 33
Beim direkten Start über Windows entfällt die erste Zugriffsverletzung.
<b>Situation:</b>
* Das Programm erzeugt eine neue Tabelle.<br>
* Mit einem SQL-Befehl 'INSERT INTO...' werden viele Datensätze in diese Tabelle eingetragen.<br>
* Mit einem weiteren SQL-Befehl 'INSERT INTO...' sollen sehr viele weitere Datensätze in diese Tabelle eingetragen werden; dies führt zu dem genannten Fehler.
Bei einer vorherigen Programmversion hatte dies einwandfrei funktioniert. Die Ausführung des zweiten SQL-Befehls durch die Borland-Datenbankoberfläche hat manchmal Erfolg, meistens nicht.
Bei der vorherigen Programmversion war das Gerüst des SQL-Befehls direkt im Quelltext enthalten; jetzt wird dieser String aus einer Art Ini-Datei eingelesen. Aus diesem 'Gerüst' wird mit dem Format-Befehl der eigentliche SQL-Befehl erzeugt; dieser selbst ist einwandfrei.
Woran kann der Fehler liegen? Wie kann ich die genaue Situation suchen? Wie kann ich ggf. das Problem umgehen?
Umgebung:<br>
Windows XP Pro<br>
Delphi 5.01 Pro (03.02.2000)<br>
BDE Version 5.1.1.1 vom 12.11.1999 (vorher 5.1.0.4 vom 21.06.1999)<br>
(Assembler kann ich zwar minimal lesen, aber fast gar nicht verstehen.)
Ich wollte ein Update auf BDE-Version 5.2 vornehmen, aber das habe ich auf den Borland-Seiten nur als 'Merge-Modul' gefunden, aber nicht als BDE-Installation.
Wer kann mir helfen? Danke im Voraus!
* beim Start aus der IDE heraus:<br>
<b>Zugriffsverletzung</b> bei Adresse 4B E3 46 A7 in Modul IDAPI32.DLL<br>
(Wenn ich das Debug-Fenster 'CPU' richtig verstehe, handelt es sich um die interne Funktion OsWsFree.)<br>
Schreiben von Adresse 3F 51 4B 34
* anschließend folgt:<br>
<b>Zugriffsverletzung</b> bei Adresse 4B E3 47 2F in Modul IDAPI32.DLL<br>
Schreiben von Adresse 3F 51 4B 33
Beim direkten Start über Windows entfällt die erste Zugriffsverletzung.
<b>Situation:</b>
* Das Programm erzeugt eine neue Tabelle.<br>
* Mit einem SQL-Befehl 'INSERT INTO...' werden viele Datensätze in diese Tabelle eingetragen.<br>
* Mit einem weiteren SQL-Befehl 'INSERT INTO...' sollen sehr viele weitere Datensätze in diese Tabelle eingetragen werden; dies führt zu dem genannten Fehler.
Bei einer vorherigen Programmversion hatte dies einwandfrei funktioniert. Die Ausführung des zweiten SQL-Befehls durch die Borland-Datenbankoberfläche hat manchmal Erfolg, meistens nicht.
Bei der vorherigen Programmversion war das Gerüst des SQL-Befehls direkt im Quelltext enthalten; jetzt wird dieser String aus einer Art Ini-Datei eingelesen. Aus diesem 'Gerüst' wird mit dem Format-Befehl der eigentliche SQL-Befehl erzeugt; dieser selbst ist einwandfrei.
Woran kann der Fehler liegen? Wie kann ich die genaue Situation suchen? Wie kann ich ggf. das Problem umgehen?
Umgebung:<br>
Windows XP Pro<br>
Delphi 5.01 Pro (03.02.2000)<br>
BDE Version 5.1.1.1 vom 12.11.1999 (vorher 5.1.0.4 vom 21.06.1999)<br>
(Assembler kann ich zwar minimal lesen, aber fast gar nicht verstehen.)
Ich wollte ein Update auf BDE-Version 5.2 vornehmen, aber das habe ich auf den Borland-Seiten nur als 'Merge-Modul' gefunden, aber nicht als BDE-Installation.
Wer kann mir helfen? Danke im Voraus!
Comment