Hi Jan,
nur mal so aus Neugier, könnten die Probleme auch irgendwie mit der DbeSys zusammenhängen. Das da vielleicht eine Einstellung falsch gewählt wurde?
ADS Indexerzeugung [Erledigt]
Moderator: Moderatoren
- Manfred
- 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: ADS Indexerzeugung
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!!
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!!
-
- Der Entwickler von "Deep Thought"
- Beiträge: 2828
- Registriert: Fr, 10. Feb 2006 9:51
- Wohnort: Aachen
- Hat sich bedankt: 259 Mal
- Danksagung erhalten: 12 Mal
- Kontaktdaten:
Re: ADS Indexerzeugung
Hallo Jan,
ich vermute ein paar Fehler in der ADSDBE:
1)
Bei OrdCreate() und bereits vorhandenem Index wird dieser nicht überschrieben sondern zusätzlich angelegt
2)
Die Prüfung, ob ein Index bereits vorhanden ist, funktioniert nicht korrekt.
Da würde ich ansetzen und dies genauer untersuchen:
a) was gibt OrdList() genau zurück?
b) was steht genau in aIndexSchluessel?
Für mich könnte es zwei verschiedene Möglichkeiten geben
- OrdList() gibt weniger Einträge als Indizes vorhanden zurück (was ich nicht glaube)
- Es gibt Unterschiede in den Zeichen (vermute ich eher, z.B. wegen eines anderen Zeichensatzes auf dem Mitarbeiterinnen-Rechner
Gruß
Uli
ich vermute ein paar Fehler in der ADSDBE:
1)
Bei OrdCreate() und bereits vorhandenem Index wird dieser nicht überschrieben sondern zusätzlich angelegt
2)
Die Prüfung, ob ein Index bereits vorhanden ist, funktioniert nicht korrekt.
Da würde ich ansetzen und dies genauer untersuchen:
a) was gibt OrdList() genau zurück?
b) was steht genau in aIndexSchluessel?
Für mich könnte es zwei verschiedene Möglichkeiten geben
- OrdList() gibt weniger Einträge als Indizes vorhanden zurück (was ich nicht glaube)
- Es gibt Unterschiede in den Zeichen (vermute ich eher, z.B. wegen eines anderen Zeichensatzes auf dem Mitarbeiterinnen-Rechner
Gruß
Uli
-------
Mitglied XuG Cologne
Mitglied XuG Osnabrück
Mitglied XuG Cologne
Mitglied XuG Osnabrück
- Jan
- 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: ADS Indexerzeugung
... manchmal sind die Antworten sooo einfach.
Ich habe in meiner netUse() eine Funktionalitäät die nachsieht, ob eine .cdx zu der zu öffnenden dbf schon existiert. Wenn ja, wird ein OrdList() darauf gemacht, und das Rückgabearray wird durchsucht, ob alle angeforderten Tags da drin verzeichnet sind. Wenn nicht, wird eine Variable auf .F. gesetzt, und der INdex dann später neu erstellt.
Nun ja. Aber die Datenpartition ist für die normalen Anwender zugriffsgesperrt ... Die kommen da nur per ADS drauf. Und somit gibt ein If File() IMMER ein .F. zurück ... Und damit werden alle Tags niemals in dem OrdList()-Array gefunden, da das natürlich leer ist. Das erklärt auch, warum bei der Mitarbeiterin das nicht funktionierte, bei aber schon. Ich hab da Admin-Rechte drauf, also funktioniert File() auch.
Auch wenn die Lösung letztendlich eine ganz andere war - Danke für Eure Zeit und den Gehirnschmalz, den Ihr in die Lösung investiert habet.
Jan
Ich habe in meiner netUse() eine Funktionalitäät die nachsieht, ob eine .cdx zu der zu öffnenden dbf schon existiert. Wenn ja, wird ein OrdList() darauf gemacht, und das Rückgabearray wird durchsucht, ob alle angeforderten Tags da drin verzeichnet sind. Wenn nicht, wird eine Variable auf .F. gesetzt, und der INdex dann später neu erstellt.
Nun ja. Aber die Datenpartition ist für die normalen Anwender zugriffsgesperrt ... Die kommen da nur per ADS drauf. Und somit gibt ein If File() IMMER ein .F. zurück ... Und damit werden alle Tags niemals in dem OrdList()-Array gefunden, da das natürlich leer ist. Das erklärt auch, warum bei der Mitarbeiterin das nicht funktionierte, bei aber schon. Ich hab da Admin-Rechte drauf, also funktioniert File() auch.
Auch wenn die Lösung letztendlich eine ganz andere war - Danke für Eure Zeit und den Gehirnschmalz, den Ihr in die Lösung investiert habet.
Jan
Mitglied der XUG Osnabrück
Mitglied der XUG Berlin/Brandenburg
Mitglied des Deutschsprachige Xbase-Entwickler e. V.
Mitglied der XUG Berlin/Brandenburg
Mitglied des Deutschsprachige Xbase-Entwickler e. V.
- brandelh
- Foren-Moderator
- Beiträge: 15695
- Registriert: Mo, 23. Jan 2006 20:54
- Wohnort: Germersheim
- Hat sich bedankt: 65 Mal
- Danksagung erhalten: 33 Mal
- Kontaktdaten:
Re: ADS Indexerzeugung [Erledigt]
und wie sieht die Lösung nun aus ?
"Adminrechte für alle ..." oder
"Der ASD Server wird es richten, die Prüfung entfällt ..."
"Adminrechte für alle ..." oder
"Der ASD Server wird es richten, die Prüfung entfällt ..."
Gruß
Hubert
Hubert
- Jan
- 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: ADS Indexerzeugung [Erledigt]
Hubert,
LOL. Nein, ganz bestimmt nicht Admin-Rechte für alle. Der Sinn des ADS bei diesem Kunden ist ja gerade, das die Mitarbeiter nicht mehr an das Datenverzeichnis ran kommen.
Nein, erstmal schalte ich für den Testbetrieb die Index-Existiert-Abfrage ab. In den kommenden Tagen werde ich dann schauen das ich die Routine so umschreibe, das ich ohne File() auskomme. Das wird nicht ohne Laufzeitfehler gehen, aber ich kann um genau diese eine Codezeile ja eine Sequence-Schleife drumrum bauen. Mu0 ich mal durchtesten. Ich würde nur sehr ungerne die komplette Index-Verwaltung auf den ADS schieben. Das wäre vermutlich eigentlich korrekt, aber das klappt mit diesem Kunden nicht.
Jan
LOL. Nein, ganz bestimmt nicht Admin-Rechte für alle. Der Sinn des ADS bei diesem Kunden ist ja gerade, das die Mitarbeiter nicht mehr an das Datenverzeichnis ran kommen.
Nein, erstmal schalte ich für den Testbetrieb die Index-Existiert-Abfrage ab. In den kommenden Tagen werde ich dann schauen das ich die Routine so umschreibe, das ich ohne File() auskomme. Das wird nicht ohne Laufzeitfehler gehen, aber ich kann um genau diese eine Codezeile ja eine Sequence-Schleife drumrum bauen. Mu0 ich mal durchtesten. Ich würde nur sehr ungerne die komplette Index-Verwaltung auf den ADS schieben. Das wäre vermutlich eigentlich korrekt, aber das klappt mit diesem Kunden nicht.
Jan
Mitglied der XUG Osnabrück
Mitglied der XUG Berlin/Brandenburg
Mitglied des Deutschsprachige Xbase-Entwickler e. V.
Mitglied der XUG Berlin/Brandenburg
Mitglied des Deutschsprachige Xbase-Entwickler e. V.
-
- Der Entwickler von "Deep Thought"
- Beiträge: 2828
- Registriert: Fr, 10. Feb 2006 9:51
- Wohnort: Aachen
- Hat sich bedankt: 259 Mal
- Danksagung erhalten: 12 Mal
- Kontaktdaten:
Re: ADS Indexerzeugung [Erledigt]
Freut mich, dass ich Dir helfen konnte.
Uli
Uli
-------
Mitglied XuG Cologne
Mitglied XuG Osnabrück
Mitglied XuG Cologne
Mitglied XuG Osnabrück