Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   ODBC dBase Driver Reservierter Fehler (-5016) bei INSERT INTO mit großem Datenbestand (https://www.delphipraxis.net/197100-odbc-dbase-driver-reservierter-fehler-5016-bei-insert-into-mit-grossem-datenbestand.html)

AuronTLG 17. Jul 2018 16:59

Datenbank: dBase • Version: 5.0 • Zugriff über: Delphi 7

ODBC dBase Driver Reservierter Fehler (-5016) bei INSERT INTO mit großem Datenbestand
 
Hallo,

ich schlage mich gerade mit einem seltsamen dBase-Fehler herum, der auftritt, wenn ich in einem Delphi-7-Programm versuche, eine größere Menge an Datensätzen (>2000) per INSERT INTO SELECT aus einer .DBF in eine andere von der Struktur identische .DBF zu übertragen.

Die SQL-Anweisung sieht im Prinzip folgendermaßen aus: "INSERT INTO XXX IN 'Pfad' "dBase 5.0" SELECT * FROM XXX WHERE YYY = ZZZ".

Die Fehlermeldung entspricht dem Titel, d.h. "ODBC dBase Driver Reservierter Fehler (-5016)", die dBase-Version ist dBase 5.0 .
Nachdem der Fehler geworfen wurde, befinden sich nur circa 12 Datensätze in der Zieltabelle, von denen der letzte zerhauen ist.
Es scheint kein bestimmter Datensatz daran Schuld zu tragen, der Vorgang bricht immer nach circa 12 Übertragungen ab, egal ob ich entsprechende Datensätze rausschmeiße oder nicht.

Ein Kollege hat noch schwach in Erinnerung, so etwas schonmal gesehen zu haben, und meint, es habe eventuell etwas mit den Indices oder irgendwelchen dBase-Einschränkungen bezüglich der Menge an identischen Datenbankfeldern zu tun, ist sich aber nicht mehr wirklich sicher.

Ich habe leider recht wenig Erfahrung mit dBase und stehe dementsprechend auf dem Schlauch, aber vielleicht ist einem von euch sowas schonmal begegnet.
Ich wäre für jeden Anhaltspunkt dankbar.

Delphi.Narium 17. Jul 2018 17:24

AW: ODBC dBase Driver Reservierter Fehler (-5016) bei INSERT INTO mit großem Datenbes
 
Google? https://www.google.com/search?q=ODBC...=Suche&num=100

Scheint nicht zwingend ein dBase-Fehler zu sein:

https://answers.microsoft.com/de-de/...e-9b0cfb73921b

https://social.msdn.microsoft.com/Fo...rum=windows7de

KodeZwerg 17. Jul 2018 17:28

AW: ODBC dBase Driver Reservierter Fehler (-5016) bei INSERT INTO mit großem Datenbes
 
Habe auch was ähnliches hier entdeckt, da geht es vorrangig um Windows Updates die einem das Leben schwer machen.

Bernhard Geyer 17. Jul 2018 18:08

AW: ODBC dBase Driver Reservierter Fehler (-5016) bei INSERT INTO mit großem Datenbes
 
Auch wenn mich jetzt manch einer Steinigt ...

Muss es noch dBase sein? Das Ding wurde vor über 20 Jahren abgekündigt und sollte man maximal noch in Altanwendungen die nur noch gelegentlich gefixt werden einsetzen.
Ansonsten: Weg damit.

Delphi.Narium 17. Jul 2018 18:40

AW: ODBC dBase Driver Reservierter Fehler (-5016) bei INSERT INTO mit großem Datenbes
 
Komisch nur, dass man die aktuelle Version 12 für 499 USD erwerben kann ;-)

http://www.dbase.com/

Du meinst wohl die BDE und die wird hier nicht genutzt, sondern ODBC.

Und das ging schon immer über die ADO-Komponenten ohne die BDE.

jobo 18. Jul 2018 07:03

AW: ODBC dBase Driver Reservierter Fehler (-5016) bei INSERT INTO mit großem Datenbes
 
Es geht um Version V.
Man kann derzeit auch eine aktuelle Windows Version 10 kaufen. Trotzdem bekommst Du mit Windows 3.11 heutzutage sicher das ein oder andere Problem.

AuronTLG 18. Jul 2018 08:50

AW: ODBC dBase Driver Reservierter Fehler (-5016) bei INSERT INTO mit großem Datenbes
 
Zitat:

Muss es noch dBase sein? Das Ding wurde vor über 20 Jahren abgekündigt und sollte man maximal noch in Altanwendungen die nur noch gelegentlich gefixt werden einsetzen.
Ansonsten: Weg damit.
Glaubt mir, nichts lieber als das...


Ansonsten, ich habe es zum funktionieren gebracht, indem ich auf Quell- & Zieltabelle die Indices gelöscht und nach der Operation wieder eingefügt habe.
Ich kann noch nicht genau sagen, was der Fehler war, aber vielleicht hilft es ja irgendwem ja mal weiter...

Bernhard Geyer 18. Jul 2018 10:32

AW: ODBC dBase Driver Reservierter Fehler (-5016) bei INSERT INTO mit großem Datenbes
 
Zitat:

Zitat von AuronTLG (Beitrag 1407630)
Glaubt mir, nichts lieber als das...

Also Altsystem mit "zu aufwändig das jetzt noch umzustellen".

Delphi.Narium 18. Jul 2018 18:49

AW: ODBC dBase Driver Reservierter Fehler (-5016) bei INSERT INTO mit großem Datenbes
 
Zitat:

Zitat von jobo (Beitrag 1407610)
Es geht um Version V.
Man kann derzeit auch eine aktuelle Windows Version 10 kaufen. Trotzdem bekommst Du mit Windows 3.11 heutzutage sicher das ein oder andere Problem.

Ja, stimmt schon, aber statt weg damit könnte auch: "Wie wäre es mit einer aktuellen Version" helfen. Also dBase 12 nutzen analog zu Windows 10 nutzen ;-)

Und dBase 5 in Kombination mit Delphi 7 lässt sehr stark auf ein (Ur)Alt-System schließen. Und da stellt sich immer die Frage: Kann man das auf neue Versionen "hochziehen" oder macht man es lieber direkt mit aktueller Technik neu.

Leider ist da die Entscheidung: "Guckmal ob Du's wieder ans Laufen kriegst" immernoch sehr weit verbreitet, weil meistens geht's ja irgendwie (bis zum nächsten Problem). Wie so 'ne Art Endlosschleife.

p80286 18. Jul 2018 19:46

AW: ODBC dBase Driver Reservierter Fehler (-5016) bei INSERT INTO mit großem Datenbes
 
Aber beim nächsten Problem wird ein weißer Ritter in schimmernder Rüstung alle diese Probleme auf einen Schlag lösen.

Gruß
K-H


Alle Zeitangaben in WEZ +1. Es ist jetzt 00:13 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz