AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

DbImport hängt sich auf

Ein Thema von blondervolker · begonnen am 12. Aug 2013 · letzter Beitrag vom 14. Aug 2013
Antwort Antwort
Seite 2 von 3     12 3      
Benutzerbild von blondervolker
blondervolker

Registriert seit: 14. Sep 2010
Ort: Bei: Leeeiipzzhhh
381 Beiträge
 
Delphi XE2 Architect
 
#11

AW: DbImport hängt sich auf

  Alt 13. Aug 2013, 12:45
Nee,Nee... ich hab mich nicht gedrückt,sondern in der Zwischenzeit habe ich das Teil im meiner vorherigen Antwort mit drangehangen.
Ich habe das Programm laufen lassen und die importierten Datensätze werden auch korrekt angezeigt.Die Speicherauslatung zeigt beim Import keine erhöhten Werte an.
Sir Rufo, an einem Häkelkurs habe ich noch gar nicht gedacht?!
www.bewerbungsmaker.de
  Mit Zitat antworten Zitat
Benutzerbild von Sir Rufo
Sir Rufo

Registriert seit: 5. Jan 2005
Ort: Stadthagen
9.454 Beiträge
 
Delphi 10 Seattle Enterprise
 
#12

AW: DbImport hängt sich auf

  Alt 13. Aug 2013, 12:50
Nee,Nee... ich hab mich nicht gedrückt,sondern in der Zwischenzeit habe ich das Teil im meiner vorherigen Antwort mit drangehangen.
Ich habe das Programm laufen lassen und die importierten Datensätze werden auch korrekt angezeigt.Die Speicherauslatung zeigt beim Import keine erhöhten Werte an.
Sir Rufo, an einem Häkelkurs habe ich noch gar nicht gedacht?!
Und ein Application.ProcessMessages in der Schleife (wie schon zuvor genannt) hast du natürlich auch schon probiert.

Tja, da kann man dann wohl nichts machen
Kaum macht man's richtig - schon funktioniert's
Zertifikat: Sir Rufo (Fingerprint: ‎ea 0a 4c 14 0d b6 3a a4 c1 c5 b9 dc 90 9d f0 e9 de 13 da 60)
  Mit Zitat antworten Zitat
Benutzerbild von blondervolker
blondervolker

Registriert seit: 14. Sep 2010
Ort: Bei: Leeeiipzzhhh
381 Beiträge
 
Delphi XE2 Architect
 
#13

AW: DbImport hängt sich auf

  Alt 13. Aug 2013, 13:02
Ehrlich gesagt bin ich leider noch nicht mit allen "Wassern"gewaschen.
Darum wollte ich auch gerne wissen,was oder warum das Programm beim Import
bzw. beim bewegen der Form schlagartig einfriert.
Application.ProcessMessages?
www.bewerbungsmaker.de
  Mit Zitat antworten Zitat
Benutzerbild von blondervolker
blondervolker

Registriert seit: 14. Sep 2010
Ort: Bei: Leeeiipzzhhh
381 Beiträge
 
Delphi XE2 Architect
 
#14

AW: DbImport hängt sich auf

  Alt 13. Aug 2013, 13:27
Application.ProcessMessages;
Ja das war es.Danke Sir Rufo
Ich lade dich ein zum Häkelkurs.
www.bewerbungsmaker.de
  Mit Zitat antworten Zitat
Benutzerbild von Sir Rufo
Sir Rufo

Registriert seit: 5. Jan 2005
Ort: Stadthagen
9.454 Beiträge
 
Delphi 10 Seattle Enterprise
 
#15

AW: DbImport hängt sich auf

  Alt 13. Aug 2013, 14:14
Augen auf beim Eierkauf (mal in fett markiert - die rote Farbe spare ich mir mal)
Ich vermute einfach mal, dass die Operation zu lange dauert, und Windows das Programm als tot ansieht, weil es keine Messages mehr abarbeitet. Ein gelegentliches "Application.ProcessMessages;" in der Schleife könnte schon helfen.
Das Programm läuft allerdings, auch wenn Windows meckert, weiter. Du müsstest einfach nur lange genug warten.
Dann solltest du wissen, wer den berechtigten Hinweis gegeben hat
Kaum macht man's richtig - schon funktioniert's
Zertifikat: Sir Rufo (Fingerprint: ‎ea 0a 4c 14 0d b6 3a a4 c1 c5 b9 dc 90 9d f0 e9 de 13 da 60)
  Mit Zitat antworten Zitat
Benutzerbild von blondervolker
blondervolker

Registriert seit: 14. Sep 2010
Ort: Bei: Leeeiipzzhhh
381 Beiträge
 
Delphi XE2 Architect
 
#16

AW: DbImport hängt sich auf

  Alt 13. Aug 2013, 14:37
Oh,Oh...Also geht das DANKE an Medium.
www.bewerbungsmaker.de
  Mit Zitat antworten Zitat
Perlsau
(Gast)

n/a Beiträge
 
#17

AW: DbImport hängt sich auf

  Alt 13. Aug 2013, 15:03
Application.ProcessMessages;
Ja das war es.Danke Sir Rufo
Ich lade dich ein zum Häkelkurs.
Bei Import-Geschichten gehe ich, nachdem ich in der Vergangenheit selber des Öfteren vor ähnlichen Situationen stand, immer folgendermaßen vor:

1. Ich sortiere die Quell-Tabelle erstmal nach PK (Primary Key), um einen guten Überblick bei eventuellen Suchaktionen zu gewährleisten.

2. Ich füge Ausgaben in den Importprozeß ein, entweder auf einer Statusbar oder in Labels. So sehe ich immer genau den Fortschritt der Importaktion:

Delphi-Quellcode:
     DatMod.Dset_Level.IndexFieldNames := 'IDX_LEVEL';
     DatMod.Dset_Level.Last;
     StatusBar.Panels[0].Text := IntToStr(DatMod.Dset_Level.RecordCount);
     DatMod.Dset_Level.First;

     WHILE NOT DatMod.Dset_Level.Eof DO
     BEGIN
        StatusBar.Panels[1].Text := IntToStr(DatMod.Dset_Level.RecNo);
        StatusBar.Panels[2].Text := DatMod.Dset_Level.FieldByName('IDX_LEVEL').AsString);
        Application.ProcessMessages;
        DatMod.NeuSet_Level.Append;
        DatMod.NeuSet_Level.FieldByName('USER_LEVEL').AsString := DatMod.Dset_Level.FieldByName('USER_LEVEL').AsString;
        DatMod.NeuSet_Level.Post;
        DatMod.Dset_Level.Next;
     END;
So sehe ich immer genau, wo der Einleseprozeß gerade steht. Kommt es zu irgendwelchen Fehlern, sehe ich das daran, daß sich die Zahlen in Panel 1 und 2 nicht mehr verändern. Ich notiere mir diese Zahlen und starte nun mit dem notierten Record die Methode noch einmal. Angenommen, ich notiere den Record 500:

Delphi-Quellcode:
// DatMod.Dset_Level.First;
     DatMod.Dset_Level.RecNo := 500;
     WHILE NOT DatMod.Dset_Level.Eof DO
     ...
Da der Fehler bei Record# 500 auftrat, steppe ich diesen durch und bemerke dann meist sofort oder auch erst beim zweiten oder dritten Versuch, woran es hakt. Bei mir waren es verschiedene Ursachen, z.B. war ein Feld in der Zieldatenbank als Not Null definiert, in der Quelldatenbank war aber in Record 500 kein Eintrag, also Null. Da kommt normalerweise eine Fehlermeldung der Zieldatenbank. Auf jeden Fall kannst du so dem Fehler leicht auf die Schliche kommen.
  Mit Zitat antworten Zitat
Benutzerbild von jaenicke
jaenicke

Registriert seit: 10. Jun 2003
Ort: Berlin
9.648 Beiträge
 
Delphi 11 Alexandria
 
#18

AW: DbImport hängt sich auf

  Alt 13. Aug 2013, 16:07
Und um das ganze nicht zu sehr durch die Statusausgaben und ProcessMessages zu bremsen, sollte man diese nur alle z.B. 100 Datensätze machen.
Sebastian Jänicke
AppCentral
  Mit Zitat antworten Zitat
Perlsau
(Gast)

n/a Beiträge
 
#19

AW: DbImport hängt sich auf

  Alt 13. Aug 2013, 16:11
Und um das ganze nicht zu sehr durch die Statusausgaben und ProcessMessages zu bremsen, sollte man diese nur alle z.B. 100 Datensätze machen.
Kommt drauf an: Bei unter 100.000 Datensätzen mit nicht allzu komplexer Tabellenstruktur spielt es nicht wirklich eine Rolle, wenn ich da mal ein paar Minuten warten muß. Bei Millionen von Datensätzen mit zudem noch komplexer Tabellenstruktur kann die von mir vorgestellte Methode dagegen Tage dauern. Hier bevorzuge ich dann meist den SQL-Dump, das geht auf jeden Fall unvergleichlich schneller.
  Mit Zitat antworten Zitat
Medium

Registriert seit: 23. Jan 2008
3.686 Beiträge
 
Delphi 2007 Enterprise
 
#20

AW: DbImport hängt sich auf

  Alt 13. Aug 2013, 16:31
Noch flotter geht meiner Erfahrung nach der Ex- und dann wieder Import über CSV. Die meisten DBMS dürften das von Hause aus können, so dass nichtmals ein Programm nötig wäre, nur die jeweilige SQL Shell. (Es hilft natürlich ungemein, wenn die Datei lokal auf dem Server ist.) Das geht natürlich nur so lange gut, wie man keine weitern Prüfungen machen, oder komplexere Abhängigkeiten erzeugen muss. (Im gewissen Rahmen dank SPs und Triggern auch möglich, klaro.)
Edit: Ich weiss nur nicht, wie sich das dann mit BLOBs verhält. Dürfte problematisch sein.
"When one person suffers from a delusion, it is called insanity. When a million people suffer from a delusion, it is called religion." (Richard Dawkins)
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 3     12 3      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 08:24 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