Das Forentreffen 2018 findet am 20./21. April in Dresden statt. Weitere Infos hier
Zur Homepage des Deutschsprachige Xbase-Entwickler e. V.
Xbase++-Wiki des Deutschsprachige Xbase-Entwickler e. V.

Tables Liste leeren

Advantage Database Server

Moderator: Moderatoren

Antworten
Benutzeravatar
Manfred
Foren-Administrator
Foren-Administrator
Beiträge: 16942
Registriert: Di, 29. Nov 2005 16:58
Wohnort: Kreis Wesel

Tables Liste leeren

Beitrag von Manfred » Fr, 27. Mär 2015 15:11

kann man die in einem Rutsch leeren, oder muß man jede DBF (mühsam) einzeln entfernen?
Gruß Manfred
Mitglied der XUG Leverkusen
Mitglied der XUG Osnabrück
Schatzmeister des Deutschsprachige Xbase-Entwickler e.V.

Benutzeravatar
Jan
Foren-Administrator
Foren-Administrator
Beiträge: 12298
Registriert: Fr, 23. Sep 2005 18:23
Wohnort: 49328 Melle
Kontaktdaten:

Re: Tables Liste leeren

Beitrag von Jan » Fr, 27. Mär 2015 15:33

Nachdem ich mich da auch lange mit mit rumgeärgert habe ist der für mich schnellste Weg: DD löschen, die drei DD-Dateien löschen, und alles neu aufbauen.

Jan
Mitglied der XUG Osnabrück
Mitglied der XUG Berlin/Brandenburg
Vorsitzender des Deutschsprachige Xbase-Entwickler e. V.

Benutzeravatar
nightcrawler
Rekursionen-Architekt
Rekursionen-Architekt
Beiträge: 272
Registriert: Di, 24. Apr 2012 16:33
Wohnort: 72181 Starzach
Kontaktdaten:

Re: Tables Liste leeren

Beitrag von nightcrawler » Mo, 30. Mär 2015 13:11

Code: Alles auswählen


declare @tables cursor as select name from system.tables;
open @tables;
while fetch @tables do
  try 
    execute immediate 'drop table ['+trim(@tables.name)+']';
end while;
close @tables;

--
Joachim
Joachim Dürr Softwareengineering
https://www.jd-engineering.de

Benutzeravatar
Manfred
Foren-Administrator
Foren-Administrator
Beiträge: 16942
Registriert: Di, 29. Nov 2005 16:58
Wohnort: Kreis Wesel

Re: Tables Liste leeren

Beitrag von Manfred » Mo, 30. Mär 2015 13:17

Hi Joachim,

Es ging mir nur darum, ob es die Möglichkeit im ARC gibt mehrere DBF zu kennzeichnen und dann alle auf einmal zu entfernen. So mal eben schnell.
Gruß Manfred
Mitglied der XUG Leverkusen
Mitglied der XUG Osnabrück
Schatzmeister des Deutschsprachige Xbase-Entwickler e.V.

Benutzeravatar
nightcrawler
Rekursionen-Architekt
Rekursionen-Architekt
Beiträge: 272
Registriert: Di, 24. Apr 2012 16:33
Wohnort: 72181 Starzach
Kontaktdaten:

Re: Tables Liste leeren

Beitrag von nightcrawler » Mi, 01. Apr 2015 12:49

Manfred hat geschrieben:Hi Joachim,

Es ging mir nur darum, ob es die Möglichkeit im ARC gibt mehrere DBF zu kennzeichnen und dann alle auf einmal zu entfernen. So mal eben schnell.
Leider nicht - und ich habe auch nicht mehr den gesamten Quellcode und eine entsprechend eingerichtete Delphi-Version, dass ich es schnell nachrüsten könnte.
--
Joachim
Joachim Dürr Softwareengineering
https://www.jd-engineering.de

Benutzeravatar
Manfred
Foren-Administrator
Foren-Administrator
Beiträge: 16942
Registriert: Di, 29. Nov 2005 16:58
Wohnort: Kreis Wesel

Re: Tables Liste leeren

Beitrag von Manfred » Fr, 18. Mär 2016 9:19

derzeit ist mir das Problem gerade wieder auf den Tisch gekommen. Also habe ich mal Deinen CODE Vorschlag ausprobiert. Oder zumindest dachte ich ihn auszuprobieren. Ich vermute einmal, ich muß es im ARC unter Functions eingeben!? Dort gibt es aber Fehlermeldungen damit. Bin ich überhaupt auf dem richtigen Weg?
Gruß Manfred
Mitglied der XUG Leverkusen
Mitglied der XUG Osnabrück
Schatzmeister des Deutschsprachige Xbase-Entwickler e.V.

UliTs
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 2449
Registriert: Fr, 10. Feb 2006 9:51
Wohnort: Aachen
Kontaktdaten:

Re: Tables Liste leeren

Beitrag von UliTs » Fr, 18. Mär 2016 9:53

Manfred,

ich vermute, Du hast ein Data Dictionary? Dann kannst Du darin eine Funktion schreiben, die Tabellen daraus löscht.
Zeig mal den Code wie Du die Funktion versucht hast zu schreiben.

Uli
-------
Mitglied XuG Cologne
Mitglied XuG Osnabrück

Benutzeravatar
Manfred
Foren-Administrator
Foren-Administrator
Beiträge: 16942
Registriert: Di, 29. Nov 2005 16:58
Wohnort: Kreis Wesel

Re: Tables Liste leeren

Beitrag von Manfred » Fr, 18. Mär 2016 9:57

delalldbf.JPG
delalldbf.JPG (53.04 KiB) 1820 mal betrachtet
ist das so richtig?
Sobald ich OK oder Debug/test drücke kommt das hier
delalldbf_error.JPG
delalldbf_error.JPG (68.27 KiB) 1820 mal betrachtet
Gruß Manfred
Mitglied der XUG Leverkusen
Mitglied der XUG Osnabrück
Schatzmeister des Deutschsprachige Xbase-Entwickler e.V.

UliTs
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 2449
Registriert: Fr, 10. Feb 2006 9:51
Wohnort: Aachen
Kontaktdaten:

Re: Tables Liste leeren

Beitrag von UliTs » Fr, 18. Mär 2016 16:08

Du machst ein "try", aber es fehlt das "end try" :D .

Versuch mal

Code: Alles auswählen

...
try execute ...; catch all end try;
...
Klappt es dann?

Uli
-------
Mitglied XuG Cologne
Mitglied XuG Osnabrück

Benutzeravatar
Manfred
Foren-Administrator
Foren-Administrator
Beiträge: 16942
Registriert: Di, 29. Nov 2005 16:58
Wohnort: Kreis Wesel

Re: Tables Liste leeren

Beitrag von Manfred » Fr, 18. Mär 2016 16:12

hm,

ich habe nur das gemacht, was Joachim geschrieben hat. Aber zumindest gibt es mit Deinem Vorschlag keine Fehlermeldung mehr. Allerdings habe ich keine Ahnung, wie ich das Teil jetzt lostreten kann, das es die Tables entfernt?
Gruß Manfred
Mitglied der XUG Leverkusen
Mitglied der XUG Osnabrück
Schatzmeister des Deutschsprachige Xbase-Entwickler e.V.

UliTs
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 2449
Registriert: Fr, 10. Feb 2006 9:51
Wohnort: Aachen
Kontaktdaten:

Re: Tables Liste leeren

Beitrag von UliTs » Fr, 18. Mär 2016 16:19

Du kannst es ja mal aufrufen :-) .
Z.B. durch

Code: Alles auswählen

select DelAlleDbf() Ergebnis from system.dictionary
Edit: datadictionary -> dictionary
Zuletzt geändert von UliTs am Fr, 18. Mär 2016 20:17, insgesamt 2-mal geändert.
-------
Mitglied XuG Cologne
Mitglied XuG Osnabrück

UliTs
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 2449
Registriert: Fr, 10. Feb 2006 9:51
Wohnort: Aachen
Kontaktdaten:

Re: Tables Liste leeren

Beitrag von UliTs » Fr, 18. Mär 2016 16:20

Manfred hat geschrieben:...
ich habe nur das gemacht, was Joachim geschrieben hat.
...
Ja, auch Genies können Fehler machen :D .
-------
Mitglied XuG Cologne
Mitglied XuG Osnabrück

Benutzeravatar
Manfred
Foren-Administrator
Foren-Administrator
Beiträge: 16942
Registriert: Di, 29. Nov 2005 16:58
Wohnort: Kreis Wesel

Re: Tables Liste leeren

Beitrag von Manfred » Fr, 18. Mär 2016 16:35

genau so aufrufen, wie Du es geschrieben hast? Hm, das klappt nicht. Muß da nicht noch was angegeben werden?
Gruß Manfred
Mitglied der XUG Leverkusen
Mitglied der XUG Osnabrück
Schatzmeister des Deutschsprachige Xbase-Entwickler e.V.

UliTs
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 2449
Registriert: Fr, 10. Feb 2006 9:51
Wohnort: Aachen
Kontaktdaten:

Re: Tables Liste leeren

Beitrag von UliTs » Fr, 18. Mär 2016 20:18

Manfred,

habe oben meinen Fehler korrigiert. So etwas darfst Du aber natürlich auch in der Hilfe nachschauen :wink: .
-------
Mitglied XuG Cologne
Mitglied XuG Osnabrück

Benutzeravatar
Manfred
Foren-Administrator
Foren-Administrator
Beiträge: 16942
Registriert: Di, 29. Nov 2005 16:58
Wohnort: Kreis Wesel

Re: Tables Liste leeren

Beitrag von Manfred » Sa, 19. Mär 2016 7:43

MIst, das hat wohl doch geklappt, aber der Architekt macht keinen Refresh darauf. Als ich gerade neu startete, waren alle DBF weg. Manmanman, wieder auf das Teil reingefallen.
Gruß Manfred
Mitglied der XUG Leverkusen
Mitglied der XUG Osnabrück
Schatzmeister des Deutschsprachige Xbase-Entwickler e.V.

UliTs
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 2449
Registriert: Fr, 10. Feb 2006 9:51
Wohnort: Aachen
Kontaktdaten:

Re: Tables Liste leeren

Beitrag von UliTs » Sa, 19. Mär 2016 10:05

Dafür gibt es den "Refresh"-Knopf :D .
Aber Du hast natürlich recht: so etwas könnte automatisch geschehen. In vielen solchen Kleinigkeiten hat der ARC so einige Fallen. Im Zweifel lohnt es sich immer, sich ab- und neu anzumelden.

Uli
-------
Mitglied XuG Cologne
Mitglied XuG Osnabrück

Benutzeravatar
Manfred
Foren-Administrator
Foren-Administrator
Beiträge: 16942
Registriert: Di, 29. Nov 2005 16:58
Wohnort: Kreis Wesel

Re: Tables Liste leeren

Beitrag von Manfred » Sa, 19. Mär 2016 10:52

Hm, welchen Refreshknopf meinst Du? Wenn ich STRG-R oder F5 drücke, die allgemein gebräuchlichen Varianten, passiert da man gar nichts, bzw. öffnet sich ein anderes Fenster. Abmelden und anmelden hilft, kann aber nicht das große Glück bedeuten.
Gruß Manfred
Mitglied der XUG Leverkusen
Mitglied der XUG Osnabrück
Schatzmeister des Deutschsprachige Xbase-Entwickler e.V.

UliTs
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 2449
Registriert: Fr, 10. Feb 2006 9:51
Wohnort: Aachen
Kontaktdaten:

Re: Tables Liste leeren

Beitrag von UliTs » Sa, 19. Mär 2016 10:58

Ich meinte den Refreshknopf im Browser, wenn eine Tabelle geöffnet ist. Aber in diesem Fall hast Du ja Tabellen aus dem DD gelöscht und das geht natürlich nicht bei einer geöffneten Tabelle. Da hilft nur DD schließen und neu öffnen 8) .

Aber über solche "Kleinigkeiten" darfst Du Dich nicht aufregen, sonst wirst Du nicht glücklich mit dem ARC (Data Architect).

Uli
-------
Mitglied XuG Cologne
Mitglied XuG Osnabrück

Benutzeravatar
Manfred
Foren-Administrator
Foren-Administrator
Beiträge: 16942
Registriert: Di, 29. Nov 2005 16:58
Wohnort: Kreis Wesel

Re: Tables Liste leeren

Beitrag von Manfred » Sa, 19. Mär 2016 11:00

das stimmt, immer cool bleiben. Solange man genau weiß, was man macht und was es bringen soll geht es noch. Da ich aber noch Neuling auf dem Gebiet bin, verläßt man sich schonmal gerne auf das angezeigte Ergebnis. Ich werde mal versuchen in Zukunft daran zu denken, wenn es nicht so wird, wie erwartet einfach mal an und abmelden....
Gruß Manfred
Mitglied der XUG Leverkusen
Mitglied der XUG Osnabrück
Schatzmeister des Deutschsprachige Xbase-Entwickler e.V.

Benutzeravatar
nightcrawler
Rekursionen-Architekt
Rekursionen-Architekt
Beiträge: 272
Registriert: Di, 24. Apr 2012 16:33
Wohnort: 72181 Starzach
Kontaktdaten:

Re: Tables Liste leeren

Beitrag von nightcrawler » So, 20. Mär 2016 19:25

Hallo Manfred,
ich würde sowas nicht in eine FUNCTION packen, sondern in eine STORED PROCEDURE. Führe folgendes in einem SQL Fenster aus, dann hast Du diese Stored Proc:

Code: Alles auswählen

CREATE PROCEDURE DeleteAllTables(tablename CICHAR(255) OUTPUT, success LOGICAL OUTPUT)
BEGIN
  declare @tables cursor as select name from system.tables;
  open @tables;
  while fetch @tables do
    try
      execute immediate 'drop table ['+trim(@tables.name)+']';
      INSERT INTO __output(tablename, success) VALUES(trim(@tables.name), True);
    catch all
      INSERT INTO __output(tablename, success) VALUES(trim(@tables.name), False);
    end try;
  end while;
  close @tables;
END;
Einmal erstellt kannst Du es dann immer über SQL ausführen:

Code: Alles auswählen

EXECUTE PROCEDURE DeleteAllTables();
In der Ergebnismenge stehen dann alle Tabellen des Dictionary und ob sie gelöscht werden konnten oder nicht.
--
Joachim
Joachim Dürr Softwareengineering
https://www.jd-engineering.de

Antworten