Hi,
heute hab ich wieder ein lustiges Problem. Es handelt sich um eine Paradox 5.x Datenbank die in einer Delphi 3.0 Applikation genutzt wird. Hier kurz die Vorgeschichte, die Frage steht dann unten, sollte wer helfen wollen aber nicht so viel lesen wollen
Vor einiger Zeit dachte sich ein Kollege (der mit dem Ding arbeitet) es währe toll wenn er eine Tabelle neuerzeugt. (Grund dafür: Da sind schon relativ viele Datensätze drinnen, und die Initial gewählten Größen der Tabellen stoßen an ihre Grenzen. Daher im BDE die Block-Size vergrössert und neu erzeugt)
Allerdings hat mein Kollege nicht bedacht, das in einer zweiten Tabelle der PrimaryKey(AutoIncrement) der veränderten Tabelle Teil des Schlüssels ist.
Durch die neuerzeugung ist nun der AutoIncrementKey natürlich ein anderer, und somit funktioniert die Zuordnung nicht mehr. Ich habe dann versucht die (Original) Tabelle neu zu erstellen indem ich mir den alten Schlüssel aber als zusätzliches Feld in die neue Tabelle geschrieben habe. (Soweit sogut! Nun habe ich eine zuordnung von altem Satz zu neuem Satz)
Danach wollte ich ein Update machen, und sozusagen den alten Schlüssel in der verknüpften Tabelle durch den neuen ersetzen.
Sowas in etwa:
update tabelle1, tabelle2
SET tabelle1.gz_satz = tabelle2.satz
WHERE tabelle1.gz_satz = tabelle2.alt_satz
Versucht habe ich das mit dem Datenbank-Explorer der beim BDE dabei ist. Allerdings mag der solche Update anfragen mit mehr Tabellen scheinbar nicht ....
Daher habe ich dann versucht mittels MS Access das Update durchzuführen. Das hätte auch grundsätzlich funktioniert... Nur muss man dabei sagen sind in der Tabelle1 500000 Datensätze und in der Tabelle2 900000 Datensätze...
Laut Update jeder Satz der einen Tabelle mit allen Sätzen der anderen dauert das eine geraume Weile, wenn man bedenkt das Access auch relativ langsam ist. (Für Paradoxtabellen)
NUN MEINE FRAGE NACH DEM ROMAN .....
Kennt wer ein gutes Tool mit dem man auch Updates der oben fettmarkierten Sorte durchführen kann. (Für Paradox)
Das relativ schnell ist. Im Grunde etwas das die gleiche Connection zur Datenbank verwendet wie der Datenbank-Explorer nur eben mit Updates.
Oder
Hat irgendwer Erfahrung mit dem Datenbank-Explorer und weiß wie ich vielleicht doch ein Update der oben angeführten Sorte machen kann. (Müsste ja nur das gleiche machen, kann ganz anders aussehen)
Sollte keinem was einfallen, muss ich ihm sagen er muss zurücksichern und die letzten 3 Wochen Arbeit nachmachen...
Übrigens bekommt er in 3 Monaten ein neues Programm, mit neuer Serverkomponente
lg
BaDo
heute hab ich wieder ein lustiges Problem. Es handelt sich um eine Paradox 5.x Datenbank die in einer Delphi 3.0 Applikation genutzt wird. Hier kurz die Vorgeschichte, die Frage steht dann unten, sollte wer helfen wollen aber nicht so viel lesen wollen
Vor einiger Zeit dachte sich ein Kollege (der mit dem Ding arbeitet) es währe toll wenn er eine Tabelle neuerzeugt. (Grund dafür: Da sind schon relativ viele Datensätze drinnen, und die Initial gewählten Größen der Tabellen stoßen an ihre Grenzen. Daher im BDE die Block-Size vergrössert und neu erzeugt)
Allerdings hat mein Kollege nicht bedacht, das in einer zweiten Tabelle der PrimaryKey(AutoIncrement) der veränderten Tabelle Teil des Schlüssels ist.
Durch die neuerzeugung ist nun der AutoIncrementKey natürlich ein anderer, und somit funktioniert die Zuordnung nicht mehr. Ich habe dann versucht die (Original) Tabelle neu zu erstellen indem ich mir den alten Schlüssel aber als zusätzliches Feld in die neue Tabelle geschrieben habe. (Soweit sogut! Nun habe ich eine zuordnung von altem Satz zu neuem Satz)
Danach wollte ich ein Update machen, und sozusagen den alten Schlüssel in der verknüpften Tabelle durch den neuen ersetzen.
Sowas in etwa:
update tabelle1, tabelle2
SET tabelle1.gz_satz = tabelle2.satz
WHERE tabelle1.gz_satz = tabelle2.alt_satz
Versucht habe ich das mit dem Datenbank-Explorer der beim BDE dabei ist. Allerdings mag der solche Update anfragen mit mehr Tabellen scheinbar nicht ....
Daher habe ich dann versucht mittels MS Access das Update durchzuführen. Das hätte auch grundsätzlich funktioniert... Nur muss man dabei sagen sind in der Tabelle1 500000 Datensätze und in der Tabelle2 900000 Datensätze...
Laut Update jeder Satz der einen Tabelle mit allen Sätzen der anderen dauert das eine geraume Weile, wenn man bedenkt das Access auch relativ langsam ist. (Für Paradoxtabellen)
NUN MEINE FRAGE NACH DEM ROMAN .....
Kennt wer ein gutes Tool mit dem man auch Updates der oben fettmarkierten Sorte durchführen kann. (Für Paradox)
Das relativ schnell ist. Im Grunde etwas das die gleiche Connection zur Datenbank verwendet wie der Datenbank-Explorer nur eben mit Updates.
Oder
Hat irgendwer Erfahrung mit dem Datenbank-Explorer und weiß wie ich vielleicht doch ein Update der oben angeführten Sorte machen kann. (Müsste ja nur das gleiche machen, kann ganz anders aussehen)
Sollte keinem was einfallen, muss ich ihm sagen er muss zurücksichern und die letzten 3 Wochen Arbeit nachmachen...
Übrigens bekommt er in 3 Monaten ein neues Programm, mit neuer Serverkomponente
lg
BaDo
Comment