Einzelnen Beitrag anzeigen

Hansa

Registriert seit: 9. Jun 2002
Ort: Saarland
7.554 Beiträge
 
Delphi 8 Professional
 
#50

Re: Diskussion: Umstellung einer Datenbank in einem Projekt

  Alt 10. Dez 2009, 00:13
Zitat von RWarnecke:
Du beantwortest die Frage schon fast selbst. Wenn ich die Datenbankstruktur eventuell ändern muss, dann muss ich doch den Weg über einen Export gehen oder nicht ?
Ist zumindest bei weitem der flexiblere. Die Datenstruktur wird sich wohl definitiv ändern (müssen). Im Endeffekt geht es schneller von der Hand, die Daten zuerst zu exportieren, als sich mit Tools oder unbekannten Fähigkeiten vom Programm XY rumzuschlagen, das angeblich mehr oder weniger von alleine läuft, dies aber in Wirklichkeit nicht tut und zu guter Letzt der Import scheitert.

Ist der alte Datenbestand erstmal in der Textdatei, dann ist ja immer noch eine andere Sache was danach damit passiert. Die Textdatei soll ja nur die reinen Daten enthalten. Das ist somit völlig entkoppelt von der neuen DB-Struktur. Wenn ich nun Lust habe ein Feld in Land und PLZ zu zerlegen, das vorher so aussah "USA-20000" und "LAND-PLZ" hiess, dann steht es erstmal so in der Textdatei und basta. Das Import-Programm müsste dann eben das Teil zerlegen. Alternativ könnte man das auch direkt beim Exportieren erledigen, aber egal.

Die neue DB müsste dann eben ein Feld "Laenderkennzeichen" haben und eines "PLZ". Das alte Ding in die neue DB reinzukriegen wäre dann einfach :

Delphi-Quellcode:
DataSetX.FieldByName ('Laenderkennzeichen').AsString := copy (AltFeld,1,3);
DataSetX.FieldByName ('PLZ').AsInteger := IntToStr (copy (AltFeld,5,5));
Das "-" wird eben ignoriert. Jetzt ist nicht nur das alte Feld in 2 neue zerlegt, sondern gleich mit, noch das alte zusammengesetzte Feld in 2 verschiedene Typen aufgeteilt, sinnvoll umbenant etc. In dem schnell konstruierten Beispiel hat man sogar noch Speicherplatz gespart etc. In deser Richtung gibts fast unbegrenzte Möglichkeiten.
Gruß
Hansa
  Mit Zitat antworten Zitat