Anpassen von DBF

Advantage Database Server

Moderator: Moderatoren

Antworten
Benutzeravatar
Manfred
Foren-Administrator
Foren-Administrator
Beiträge: 21186
Registriert: Di, 29. Nov 2005 16:58
Wohnort: Kreis Wesel
Hat sich bedankt: 210 Mal
Danksagung erhalten: 67 Mal

Anpassen von DBF

Beitrag von Manfred »

Hi,

bisher habe ich es immer so gemacht, wenn sich z.B. die Struktur einer DBF geändert hat.
1) in einem TEMP Verzeichnis eine DBF mit der neuen Struktur angelegt.
2) die aktuellen Daten kontrolliert in die neue Struktur übernommen (mit entsprechenden Umwandlungen)
3) die "alte" Dbf gelöscht und dann die "neue" DBF removed.

Feddisch.

das geht aber jetzt so unter ADS nicht mehr.
Was tun sprach Zeus?

Für mich ist die Übernahme von alt nach neu sehr wichtig, weil ich da Anpassungen bei Feldtypänderungen drin habe, die bei Append from, oder so, nicht klappen werden. Kann man mit dem ADS eine DBF löschen von der Platte?
Gruß Manfred
Mitglied der XUG Osnabrück
Schatzmeister des Deutschsprachige Xbase-Entwickler e.V.
großer Fan des Xbaseentwicklerwiki https://wiki.xbaseentwickler.de/index.p ... Hauptseite
Doof kann man sein, man muß sich nur zu helfen wissen!!
Benutzeravatar
Tom
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 9358
Registriert: Do, 22. Sep 2005 23:11
Wohnort: Berlin
Hat sich bedankt: 101 Mal
Danksagung erhalten: 361 Mal
Kontaktdaten:

Re: Anpassen von DBF

Beitrag von Tom »

Das kannst Du durchaus weiter so machen. Du müsstest aber dafür sorgen, dass eine dieser beiden Bedingungen erfüllt ist:

1. Das TEMP-Verzeichnis kann vom ADS gesehen werden.

Oder:

2. Du verwendest bei der Nutzung der temporären Tabelle die VIA-Klausel und öffnest sie am ADS vorbei.
Herzlich,
Tom
Benutzeravatar
Manfred
Foren-Administrator
Foren-Administrator
Beiträge: 21186
Registriert: Di, 29. Nov 2005 16:58
Wohnort: Kreis Wesel
Hat sich bedankt: 210 Mal
Danksagung erhalten: 67 Mal

Re: Anpassen von DBF

Beitrag von Manfred »

das verstehe ich jetzt nicht. Und wie bekomme ich die alte DBF gelöscht?.

Verflixt, ich vergas zu erwähnen, dass die normalen DBF alle in einem Data Dictionary sind. Da bekommt man ja nichts raus gelöscht, oder? Und der ADS läuft auf einem getrennten Server.
Gruß Manfred
Mitglied der XUG Osnabrück
Schatzmeister des Deutschsprachige Xbase-Entwickler e.V.
großer Fan des Xbaseentwicklerwiki https://wiki.xbaseentwickler.de/index.p ... Hauptseite
Doof kann man sein, man muß sich nur zu helfen wissen!!
Benutzeravatar
nightcrawler
1000 working lines a day
1000 working lines a day
Beiträge: 650
Registriert: Di, 24. Apr 2012 16:33
Wohnort: 72184 Weitingen
Hat sich bedankt: 3 Mal
Danksagung erhalten: 96 Mal
Kontaktdaten:

Re: Anpassen von DBF

Beitrag von nightcrawler »

Das einfachste ist sicherlich, die Änderungen per SQL nachzufahren.

Code: Alles auswählen

ALTER TABLE mytable ADD COLUMN neuespalte CHAR(20)
--
Joachim
Joachim Dürr Softwareengineering
https://www.jd-engineering.de
Benutzeravatar
Manfred
Foren-Administrator
Foren-Administrator
Beiträge: 21186
Registriert: Di, 29. Nov 2005 16:58
Wohnort: Kreis Wesel
Hat sich bedankt: 210 Mal
Danksagung erhalten: 67 Mal

Re: Anpassen von DBF

Beitrag von Manfred »

geht das ohne ADT? Das wäre dann mal eine Überlegung wert.
Gruß Manfred
Mitglied der XUG Osnabrück
Schatzmeister des Deutschsprachige Xbase-Entwickler e.V.
großer Fan des Xbaseentwicklerwiki https://wiki.xbaseentwickler.de/index.p ... Hauptseite
Doof kann man sein, man muß sich nur zu helfen wissen!!
Benutzeravatar
nightcrawler
1000 working lines a day
1000 working lines a day
Beiträge: 650
Registriert: Di, 24. Apr 2012 16:33
Wohnort: 72184 Weitingen
Hat sich bedankt: 3 Mal
Danksagung erhalten: 96 Mal
Kontaktdaten:

Re: Anpassen von DBF

Beitrag von nightcrawler »

klar. SQL ist nicht auf ADT begrenzt. Geht sogar mit freien Tabellen ohne Dictionary - allerdings ist es dort schwieriger, an die aktuelle Struktur zu kommen.
--
Joachim
Joachim Dürr Softwareengineering
https://www.jd-engineering.de
Benutzeravatar
Manfred
Foren-Administrator
Foren-Administrator
Beiträge: 21186
Registriert: Di, 29. Nov 2005 16:58
Wohnort: Kreis Wesel
Hat sich bedankt: 210 Mal
Danksagung erhalten: 67 Mal

Re: Anpassen von DBF

Beitrag von Manfred »

ok, mir fällt aber gerade dazu ein, dass ich ja noch das Umkopieren habe. Bisher ist es ja so, dass ich zunächst eine temporäre neue Strukturdatei erstelle. In die aus der aktuellen DBF kopiere (Sicherheit, falls der Vorgang schief geht, ist die aktuelle immer noch da) und dann die aktuelle lösche um die Neue umzubewegen. Das klappt ja alles nicht mehr.
Gruß Manfred
Mitglied der XUG Osnabrück
Schatzmeister des Deutschsprachige Xbase-Entwickler e.V.
großer Fan des Xbaseentwicklerwiki https://wiki.xbaseentwickler.de/index.p ... Hauptseite
Doof kann man sein, man muß sich nur zu helfen wissen!!
Benutzeravatar
nightcrawler
1000 working lines a day
1000 working lines a day
Beiträge: 650
Registriert: Di, 24. Apr 2012 16:33
Wohnort: 72184 Weitingen
Hat sich bedankt: 3 Mal
Danksagung erhalten: 96 Mal
Kontaktdaten:

Re: Anpassen von DBF

Beitrag von nightcrawler »

Hi Manfred,
nein, das klappt so leider nicht mehr. Bei der Anpassung über SQL werden physikalische Datei und Dictionary angepasst. Ein Umkopieren würde nur die Physikalische Datei ändern, welche dann nicht mehr zur Dictionary-Struktur passt und somit ein fehlerhaftes Verhalten an den Tag legen würde. Die Verwendung eines Dictionaries löst den Entwickler von der ISAM-Methode und zwingt ihn zur Betrachtung des Systems als Datenbank (also gleich, wie MS SQL, MySQL, Oracle und Konsorten es schon immer erzwingen). Ich glaube, ich werde beim Forentreffen den Vortrag erweitern und auf solche grundsätzlichen Handhabungen eingehen.
--
Joachim
Joachim Dürr Softwareengineering
https://www.jd-engineering.de
Benutzeravatar
Jan
Marvin
Marvin
Beiträge: 14651
Registriert: Fr, 23. Sep 2005 18:23
Wohnort: 49328 Melle
Hat sich bedankt: 21 Mal
Danksagung erhalten: 88 Mal
Kontaktdaten:

Re: Anpassen von DBF

Beitrag von Jan »

Manfred,

ob das in Deinem Fall noch so sein muß? Da kümmert sich ja der ADS um alles. Da sollte also normalerweise nichts bei schief gehen, oder?

Jan
Mitglied der XUG Osnabrück
Mitglied der XUG Berlin/Brandenburg
Mitglied des Deutschsprachige Xbase-Entwickler e. V.
Benutzeravatar
Manfred
Foren-Administrator
Foren-Administrator
Beiträge: 21186
Registriert: Di, 29. Nov 2005 16:58
Wohnort: Kreis Wesel
Hat sich bedankt: 210 Mal
Danksagung erhalten: 67 Mal

Re: Anpassen von DBF

Beitrag von Manfred »

Hm,

ich muß ja irgendwie eine DBF anpassen können. Oder anders gesagt, ich würde dann eben eine Möglichkeit für den ADS implementieren. Aber es ist halt so, dass ich derzeit alles selbst prüfen und anpassen und übernehmen kann. Wenn sich ein logisches Feld in ein numerisches, oder char gewandelt haben sollte, wenn sich ein textfeld in eine Memofeld oder umgekehrt verwandelt. Alles kein Problem derzeit. Es gibt ein paar Regeln und nach denen kann alles von allem übernommen, bzw. konvertiert werden. Das würde dann nicht mehr klappen.
Gruß Manfred
Mitglied der XUG Osnabrück
Schatzmeister des Deutschsprachige Xbase-Entwickler e.V.
großer Fan des Xbaseentwicklerwiki https://wiki.xbaseentwickler.de/index.p ... Hauptseite
Doof kann man sein, man muß sich nur zu helfen wissen!!
Benutzeravatar
Jan
Marvin
Marvin
Beiträge: 14651
Registriert: Fr, 23. Sep 2005 18:23
Wohnort: 49328 Melle
Hat sich bedankt: 21 Mal
Danksagung erhalten: 88 Mal
Kontaktdaten:

Re: Anpassen von DBF

Beitrag von Jan »

Manfred,

da hab ich mich wohl mißverständlich ausgedrückt. Ich menite nicht, das Du unter dem ADS keine dbf mehr modifizieren mußt. Sondern das Du die Sicherungsdatei nicht mehr brauchst, weil der ADS alles in die Hand nimmt und abgesichert durchzieht, was Du dem zu ändern aufgibst.

Jan
Mitglied der XUG Osnabrück
Mitglied der XUG Berlin/Brandenburg
Mitglied des Deutschsprachige Xbase-Entwickler e. V.
Benutzeravatar
Manfred
Foren-Administrator
Foren-Administrator
Beiträge: 21186
Registriert: Di, 29. Nov 2005 16:58
Wohnort: Kreis Wesel
Hat sich bedankt: 210 Mal
Danksagung erhalten: 67 Mal

Re: Anpassen von DBF

Beitrag von Manfred »

äh, das verstehe ICH jetzt wieder nicht. Woher weiß der was ich wie wann wo haben will? Klär mich auf.
Gruß Manfred
Mitglied der XUG Osnabrück
Schatzmeister des Deutschsprachige Xbase-Entwickler e.V.
großer Fan des Xbaseentwicklerwiki https://wiki.xbaseentwickler.de/index.p ... Hauptseite
Doof kann man sein, man muß sich nur zu helfen wissen!!
Benutzeravatar
Jan
Marvin
Marvin
Beiträge: 14651
Registriert: Fr, 23. Sep 2005 18:23
Wohnort: 49328 Melle
Hat sich bedankt: 21 Mal
Danksagung erhalten: 88 Mal
Kontaktdaten:

Re: Anpassen von DBF

Beitrag von Jan »

Och Manfred,

Du hattest doch oben geschrieben,d as DU bislang imemr bei Änderungen eine neue (temporäre dbf anlegst mit den Feldädnerungen, die Daten aus der alten rüberkopierst, und dann die alte löschst und die neue umbenennst. Dmait Du im Falle eines Problems immer noch die alte als Sicherheit stehen hast.

Und ich habe Dir jetzt bereits 2x erzählt das Du die Sicherungsdatei nicht mehr brauchst, wei der ADS das alles regelt. Der kann also ohne Gefahr ruhig die Änderungen direkt an der alten Original-Datei vornehmen, wie Joachim Dir das gezeigt hat. Dein Einwand auf seinen Hinweis hin ist hinfällig wegen dem, was ich Dir geschrieben habe.

Macht es jetzt Klick?

Jan
Mitglied der XUG Osnabrück
Mitglied der XUG Berlin/Brandenburg
Mitglied des Deutschsprachige Xbase-Entwickler e. V.
Benutzeravatar
Manfred
Foren-Administrator
Foren-Administrator
Beiträge: 21186
Registriert: Di, 29. Nov 2005 16:58
Wohnort: Kreis Wesel
Hat sich bedankt: 210 Mal
Danksagung erhalten: 67 Mal

Re: Anpassen von DBF

Beitrag von Manfred »

nein es macht nicht Klick. Woher soll der ADS wissen, das aus einem logischen .T. eine 1 oder ein "J" wird, woher soll der ADS wissen, das aus einer 0 ein .F. würde oder aus einer 123 ein "123"? Alles Fragen wenn sich das Feldformat ändern würde. Die normale Anpassung, also Feld hinzu oder weg, das ist sicherlich nicht das Problem.
Gruß Manfred
Mitglied der XUG Osnabrück
Schatzmeister des Deutschsprachige Xbase-Entwickler e.V.
großer Fan des Xbaseentwicklerwiki https://wiki.xbaseentwickler.de/index.p ... Hauptseite
Doof kann man sein, man muß sich nur zu helfen wissen!!
Benutzeravatar
Jan
Marvin
Marvin
Beiträge: 14651
Registriert: Fr, 23. Sep 2005 18:23
Wohnort: 49328 Melle
Hat sich bedankt: 21 Mal
Danksagung erhalten: 88 Mal
Kontaktdaten:

Re: Anpassen von DBF

Beitrag von Jan »

Auch das ist doch kein Probem, braucht nur einen Schritt mehr:
Feld hinzufügen
Deine Routine wie bisher auch durchlaufen lassen, um das zu füllen
Altes Feld löschen

Du änderst also die alte neue dbf 2x statt bisher 1x. Aber Du sparst Dir das löschen der alten und umbenennen der neuen.

Jan
Mitglied der XUG Osnabrück
Mitglied der XUG Berlin/Brandenburg
Mitglied des Deutschsprachige Xbase-Entwickler e. V.
Benutzeravatar
Manfred
Foren-Administrator
Foren-Administrator
Beiträge: 21186
Registriert: Di, 29. Nov 2005 16:58
Wohnort: Kreis Wesel
Hat sich bedankt: 210 Mal
Danksagung erhalten: 67 Mal

Re: Anpassen von DBF

Beitrag von Manfred »

ich habe gerade noch eine ganz andere Idee, mal sehen ob das so klappt, wie es mir gerade durch den Kopf schwirrt.
Gruß Manfred
Mitglied der XUG Osnabrück
Schatzmeister des Deutschsprachige Xbase-Entwickler e.V.
großer Fan des Xbaseentwicklerwiki https://wiki.xbaseentwickler.de/index.p ... Hauptseite
Doof kann man sein, man muß sich nur zu helfen wissen!!
Antworten