Mehrfachöffnen von DBF [ERLEDIGT]

Advantage Database Server

Moderator: Moderatoren

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

Mehrfachöffnen von DBF [ERLEDIGT]

Beitrag von Manfred »

gleicher Herr, nächstes Problem

kann der ADS nicht ein und dieselbe DBF mehrfach öffnen und auch die dazugehörige Indexdatei?

folgendes Szenario:

Bisher war es so, dass ich eine Datei 2x geöffnet habe und dann die jeweilige Indexdatei von Hand zugefügt hatte (unter normalem xbase++) Die Datei wurde mit gleichem Namen geöffnet, aber eben von Xbase++ mit einem anderen Alias verwaltet.

Jetzt ist es so, das beim ersten Öffnen die Indexdatei mit aufgemacht wird, aber beim weiteren Öffnen nicht mehr. ADS vergibt auch einen vom ersten Öffnen unterschiedlichen Alias (ist ja auch richtig). Nach welchem Kriterien öffnet der ADS denn die Indexdatei automatisch? Doch nicht nach dem Alias? Das wäre ja Kappes.
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
Manfred
Foren-Administrator
Foren-Administrator
Beiträge: 21194
Registriert: Di, 29. Nov 2005 16:58
Wohnort: Kreis Wesel
Hat sich bedankt: 210 Mal
Danksagung erhalten: 67 Mal

Re: Mehrfachöffnen von DBF

Beitrag von Manfred »

hm :x :? :angry4: :banghead:

wenn man seine eigene Klasse nicht kapiert....

Es war wohl mein Fehler. Ich merke mir nach dem Öffnen einer DBF den Selectbereich. Bevor man mit der Var prüft, sollte man natürlich auch vorher den Wert ermitteln. Sowas blödes. Ich habe wohl immer den Bereich 0 im Debugger abgefragt. Der hat natürlich keinen geöffneten Index. So ein Mist.

Naja, wer nix zu tun hat, der beschäftigt sich eben mit Blödsinn.

Der Architekt zeigt aber nicht an, das die DBf mehrfach geöffnet ist. Das hatte ich eigentlich erwartet. Deshalb hat es länger gedauert auf den Unsinn zu kommen. Ich hatte sogar zuerst vermutete, das der ADS merkt wenn eine DBF mehrfach geöffnet ist und das dann selbst verwaltet. Kam mir aber auch irgendwie komisch vor.
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
Manfred
Foren-Administrator
Foren-Administrator
Beiträge: 21194
Registriert: Di, 29. Nov 2005 16:58
Wohnort: Kreis Wesel
Hat sich bedankt: 210 Mal
Danksagung erhalten: 67 Mal

Re: Mehrfachöffnen von DBF [ERLEDIGT]

Beitrag von Manfred »

hm,

ich muß mich verbessern. Irgendwo liegt ein Denkfehler, oder Futtsack vor. Also nochmal ganz langsam:

1) ich öffne DBF x, die bis dato noch keine Indexdatei hat.
2) sie ist geöffnet und ich erstelle einen Index (Indexdatei wird erzeugt)
3) sofort danach öffne ich die DBF x nochmal

jetzt müßte doch automatisch der vorhin erstellte Index mitgeöffnet werden, oder muß nach dem Erstellen erst die DBF einmal geschlossen werden, damit der ADS merkt das es eine Indexdatei gibt? Autsch, ich stelle gerade fest, das das wohl wirklich der Fall ist. Im Arc wird zumindest jetzt noch kein Index angezeigt. Aha, deshalb macht das nur beim 1.Durchlauf Probleme und wenn der Index besteht, dann sind diese weg. Hm.
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
Manfred
Foren-Administrator
Foren-Administrator
Beiträge: 21194
Registriert: Di, 29. Nov 2005 16:58
Wohnort: Kreis Wesel
Hat sich bedankt: 210 Mal
Danksagung erhalten: 67 Mal

Re: Mehrfachöffnen von DBF [ERLEDIGT]

Beitrag von Manfred »

ok,

nach dem Umbau meiner Datenbankklasse wird nun nach jedem Neuerstellen des Index die DBF neu geöffnet und es scheint jetzt wohl zu klappen. Wieder was dazu gelernt
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: 651
Registriert: Di, 24. Apr 2012 16:33
Wohnort: 72184 Weitingen
Hat sich bedankt: 3 Mal
Danksagung erhalten: 96 Mal
Kontaktdaten:

Re: Mehrfachöffnen von DBF [ERLEDIGT]

Beitrag von nightcrawler »

Wenn für eine Tabelle ein Index angelegt wird, hält ADS diesen auch offen. Da eh nur eine Instanz gerade darauf zugreifen kann (Indexerstellung erfordert exklusiven Zugriff), brauchen keine anderen benachrichtigt werden. Ein Schließen und neu öffnen ist nicht notwendig (außer natürlic, man ändert die Open-Flags von Exclusive auf Shared).
--
Joachim
Joachim Dürr Softwareengineering
https://www.jd-engineering.de
Benutzeravatar
Manfred
Foren-Administrator
Foren-Administrator
Beiträge: 21194
Registriert: Di, 29. Nov 2005 16:58
Wohnort: Kreis Wesel
Hat sich bedankt: 210 Mal
Danksagung erhalten: 67 Mal

Re: Mehrfachöffnen von DBF [ERLEDIGT]

Beitrag von Manfred »

ok,

wie schon an anderer Stelle erwähnt, erstelle ich einen Index über Flock().

Jetzt habe ich nach der Neuerstellung (Indexdatei gab es noch nicht) im ARC mir mal die Properties der Tabelle angesehen. Da ist direkt nach der Erzeugung kein index eingetragen. Sobald ich die Tabelle schließe und wieder öffne, steht er drin. Dann klappt auch das direkt darauf folgende Mehrfachöffnen mit automatischen Index öffnen.
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