Reg-Einträge.... [ERLEDIGT]

Alle Fragen um die Programmierung, die sich sonst nicht kategorisieren lassen. Von Makro bis Codeblock, von IF bis ENDIF

Moderator: Moderatoren

Benutzeravatar
Jan
Marvin
Marvin
Beiträge: 14662
Registriert: Fr, 23. Sep 2005 18:23
Wohnort: 49328 Melle
Hat sich bedankt: 21 Mal
Danksagung erhalten: 88 Mal
Kontaktdaten:

Re: Reg-Einträge.... [ERLEDIGT]

Beitrag von Jan »

Hallo Hubert,

ja, ich bin auch auf Fox umgestiegen. Aber nicht so sehr wegen der Memo-Felder, sondern wegen der Sequence- und der Binär-Felder. Also automatisch relativ sicher hochzählen, und Bilder in den Memodateien speichern.

Jan
Mitglied der XUG Osnabrück
Mitglied der XUG Berlin/Brandenburg
Mitglied des Deutschsprachige Xbase-Entwickler e. V.
Benutzeravatar
Herbert
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 1991
Registriert: Do, 14. Aug 2008 0:22
Wohnort: Gmunden am Traunsee, Österreich
Danksagung erhalten: 3 Mal
Kontaktdaten:

Re: Reg-Einträge.... [ERLEDIGT]

Beitrag von Herbert »

Wollte mal "schnell" auf cdx umstellen.
Bin aber nicht fähig.

Code: Alles auswählen

PROCEDURE DbeSys
    IF ! DbeLoad( "DBFDBE", .T.)      // Engine für DBF-Dateien laden
      ALERT( "Database Engine DBFDBE nicht geladen" , {"OK"} )
    ENDIF
    IF ! DbeLoad( "CDXDBE", .T.)
      Alert( "Database-Engine CDXDBE nicht geladen" , {"OK"} )
    ENDIF
    IF ! DbeBuild( "DBFCDX", "DBFDBE", "CDXDBE" )
      Alert( "DBFCDX Database-Engine;konnte nicht erzeugt werden" , {"OK"} )
    ENDIF
    DbeSetDefault("DBFCDX")
RETURN
Indexe werden alle erstellt (geht recht schnell), pro Dbf alle in dieselbe Indexdatei z.B.

Code: Alles auswählen

INDEX ON prio+DTOC(wann) TAG "pwann"  TO (cpath+aIndex[1])
Dann kommen die Probleme

Code: Alles auswählen

OrdListAdd(cpath+aIndex[1])
gibt einen Betriebssystemfehler
entsprechend sind keine Indexe aktiv
DbSetOrder() ergibt null, OrdSetFocus("pwann") macht nichts
Grüsse Herbert
Immer in Bewegung...
Benutzeravatar
brandelh
Foren-Moderator
Foren-Moderator
Beiträge: 15710
Registriert: Mo, 23. Jan 2006 20:54
Wohnort: Germersheim
Hat sich bedankt: 73 Mal
Danksagung erhalten: 38 Mal
Kontaktdaten:

Re: Reg-Einträge.... [ERLEDIGT]

Beitrag von brandelh »

Herbert hat geschrieben: Indexe werden alle erstellt (geht recht schnell), pro Dbf alle in dieselbe Indexdatei z.B.

Code: Alles auswählen

INDEX ON prio+DTOC(wann) TAG "pwann"  TO (cpath+aIndex[1])
ich hätte jetzt

Code: Alles auswählen

INDEX ON prio+DTOC(wann) TAG pwann  TO (cpath+aIndex[1])
oder

Code: Alles auswählen

INDEX ON prio+DTOC(wann) TAG ("pwann")  TO (cpath+aIndex[1])
erwartet, aber besser wäre gleich

Code: Alles auswählen

OrdCreate( cIndexFile, cTagName, cIndexKey, bIndexKey, lUnique, lAdditive )
zu verwenden. Hier ein Beispiel das bei mir 3 Indexe in einer CDX erstellt:

Code: Alles auswählen

INDEXOKMAIN->(OrdCreate(cCDX,"AZ","AZ"))
INDEXOKMAIN->(OrdCreate(cCDX,"PA_ID","PA_ID"))
INDEXOKMAIN->(OrdCreate(cCDX,"UNFDAT","UNFDAT"))
Gruß
Hubert
Benutzeravatar
Herbert
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 1991
Registriert: Do, 14. Aug 2008 0:22
Wohnort: Gmunden am Traunsee, Österreich
Danksagung erhalten: 3 Mal
Kontaktdaten:

Re: Reg-Einträge.... [ERLEDIGT]

Beitrag von Herbert »

Danke für den Tipp
Alle Varianten ändern leider nichts am Beteriebssystemfehler40
Grüsse Herbert
Immer in Bewegung...
Benutzeravatar
brandelh
Foren-Moderator
Foren-Moderator
Beiträge: 15710
Registriert: Mo, 23. Jan 2006 20:54
Wohnort: Germersheim
Hat sich bedankt: 73 Mal
Danksagung erhalten: 38 Mal
Kontaktdaten:

Re: Reg-Einträge.... [ERLEDIGT]

Beitrag von brandelh »

kopier doch bitte mal die XppError.log hier rein und die Zeilen kurz vor bis zur Fehlerzeile.
die Fehlerzeile am Besten mit ***** Fehler kennzeichnen, da die Nummer ja verloren geht. ;-)
Gruß
Hubert
Benutzeravatar
adrian
Rekursionen-Architekt
Rekursionen-Architekt
Beiträge: 272
Registriert: Mo, 08. Mai 2006 8:58
Wohnort: Aadorf TG
Danksagung erhalten: 1 Mal
Kontaktdaten:

Re: Reg-Einträge.... [ERLEDIGT]

Beitrag von adrian »

So ich habe nun "schnell" bei mir umgestellt. Daher Datenbanken auf DBF/DBT und Indexe auf CDX, leider keine grosse Differenz festgestellt.

Das öffnen von 18 Datenbanken und ca. 50-70 Indexen benötigt ca. 5 Sek. (unter DOS eben weniger als 1 Sek.)

adrian
es Grüessli

Adrian
Benutzeravatar
Herbert
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 1991
Registriert: Do, 14. Aug 2008 0:22
Wohnort: Gmunden am Traunsee, Österreich
Danksagung erhalten: 3 Mal
Kontaktdaten:

Re: Reg-Einträge.... [ERLEDIGT]

Beitrag von Herbert »

brandelh hat geschrieben:kopier doch bitte mal die XppError.log hier rein und die Zeilen kurz vor bis zur Fehlerzeile.
die Fehlerzeile am Besten mit ***** Fehler kennzeichnen, da die Nummer ja verloren geht. ;-)
hier

Code: Alles auswählen

============================================================================
ERROR MESSAGE from  "D:\prg\xbase\zl7\ZL7C.EXE"  Date:, 28.04.2010, 08:03:01
Xbase++ version     :, Xbase++ (R) Version 1.90.355
Operating system    :, Windows 7 06.01 Build 07600
Application version :, ZUSCALC, 7.1, 01.02.2010
User: Develop/DEVELOP-PC
----------------------------------------------------------------------------
oError:canDefault   :Nein
oError:canRetry     :Ja
oError:canSubstitute:Nein
oError:cargo        :NIL
oError:description  :Betriebsystemfehler
oError:genCode      :40
oError:operation    :OrdListAdd
oError:osCode       :2
oError:severity     :2
oError:subCode      :4
oError:subSystem    :BASE
oError:thread       :1
oError:tries        :1
----------------------------------------------------------------------------
CALLSTACK:
----------------------------------------------------------------------------
Aufgerufen von: DB_OPEN(611)
611 ist das
OrdListAdd(cpath+aIndex[1])
Grüsse Herbert
Immer in Bewegung...
Benutzeravatar
brandelh
Foren-Moderator
Foren-Moderator
Beiträge: 15710
Registriert: Mo, 23. Jan 2006 20:54
Wohnort: Germersheim
Hat sich bedankt: 73 Mal
Danksagung erhalten: 38 Mal
Kontaktdaten:

Re: Reg-Einträge.... [ERLEDIGT]

Beitrag von brandelh »

Hi,

du hast nicht den BS-Fehler 40, sondern ... oError:osCode :2

Irgendwo hatte ich mal eine Hilfedatei mit Xbase++ Fehlermeldungen, ... #-o
In PowerBasic habe ich aber eine Definitionsdatei ... und dort steht:

%ERROR_FILE_NOT_FOUND = 2

Was steht in den Variablen ...
Gruß
Hubert
Benutzeravatar
Herbert
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 1991
Registriert: Do, 14. Aug 2008 0:22
Wohnort: Gmunden am Traunsee, Österreich
Danksagung erhalten: 3 Mal
Kontaktdaten:

Re: Reg-Einträge.... [ERLEDIGT]

Beitrag von Herbert »

Hi Hubert
Du bist Gold wert. Eine kleine einzige Verwaltungsdatei lief fälschlicherweise über den Index.
Danke. Nun ists bis da mal ok.
Grüsse Herbert
Immer in Bewegung...
Benutzeravatar
Herbert
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 1991
Registriert: Do, 14. Aug 2008 0:22
Wohnort: Gmunden am Traunsee, Österreich
Danksagung erhalten: 3 Mal
Kontaktdaten:

Re: Reg-Einträge.... [ERLEDIGT]

Beitrag von Herbert »

Zweiter Zwischenbericht

Registry
Die Registry-Einträge haben eine wesentliche Verbesserung der Performance gebracht. Auf einem Client war zuerst fälschlicherweise die Anpassung noch nicht gemacht worden, so konnte man direkt den Unterschied sehen.
Jetzt sind bei den grossen Dialogen Antwortzeiten von etwa 1 sec da.

Fazit:
Die Applikation ist nicht schnell, aber auch nicht mehr untragbar langsam. Unterschiedlichkeiten in der generellen Systembelastung werden nun wesentlich weniger wahrgenommen (von vorher 1-20 sec nun auf unmerklich bis etwa 2 sec). In der Hoffnung, dass es so bleibt.
Verglichen zur 16-bit clip-4-Win-App aber immer noch weit entfernt.

Der Kunde ist zufrieden und kann nun arbeiten. Ich habe in den vergangenen 48 Stunden sehr viel gelernt (auch viel gearbeitet). Noch sind ein paar Optimierungen im Kopf (und ich Depp hoffte, nicht mehr so stark an so was denken zu müssen).

Nochmals herzlichen Dan an alle Mitdenker und -schreiber. Das gibt am 15. eine Extraportion Schwiizer-Schoggi.
Grüsse Herbert
Immer in Bewegung...
Benutzeravatar
adrian
Rekursionen-Architekt
Rekursionen-Architekt
Beiträge: 272
Registriert: Mo, 08. Mai 2006 8:58
Wohnort: Aadorf TG
Danksagung erhalten: 1 Mal
Kontaktdaten:

Re: Reg-Einträge.... [ERLEDIGT]

Beitrag von adrian »

Freut mich das es geklappt hat und was, eine Arbeitsstation genügte, dass alles wieder zusammenbrach?!

Jan, Du hast da was von einem batch-Programm von Thomas geschrieben welches prüft ob die Einträge da sibd oder nicht und diese gegebenenfalls nachträgt. Kannst Du mir dieses rüberbeamen?

Besten Dank

Adi
es Grüessli

Adrian
Benutzeravatar
Jan
Marvin
Marvin
Beiträge: 14662
Registriert: Fr, 23. Sep 2005 18:23
Wohnort: 49328 Melle
Hat sich bedankt: 21 Mal
Danksagung erhalten: 88 Mal
Kontaktdaten:

Re: Reg-Einträge.... [ERLEDIGT]

Beitrag von Jan »

Adrian,

:razz: . Erstens hab ich das nicht, und außerdem ist das eine Klasse zur Registry-Bearbeitung. Schau mal hier http://www.software-braun.de/ , ungefähr in der Mitte der Seite.

Jan
Mitglied der XUG Osnabrück
Mitglied der XUG Berlin/Brandenburg
Mitglied des Deutschsprachige Xbase-Entwickler e. V.
Benutzeravatar
Herbert
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 1991
Registriert: Do, 14. Aug 2008 0:22
Wohnort: Gmunden am Traunsee, Österreich
Danksagung erhalten: 3 Mal
Kontaktdaten:

Re: Reg-Einträge.... [ERLEDIGT]

Beitrag von Herbert »

adrian hat geschrieben:So ich habe nun "schnell" bei mir umgestellt. Daher Datenbanken auf DBF/DBT und Indexe auf CDX, leider keine grosse Differenz festgestellt.

Das öffnen von 18 Datenbanken und ca. 50-70 Indexen benötigt ca. 5 Sek. (unter DOS eben weniger als 1 Sek.)

adrian
Meine Vergleiche:
Daten öffnen: (25 Dateien, 50 Indexe) keine Messbaren Unterschiede < 0.02 sec

Rechnungslauf mit 500 Datensätzen, mehrfaches suchen mit Seek und Workspacewechsel
NTX=2"29
CDX=2"23 entspricht etwa 4% Leistungsgewinn. Höchstwahrscheinlich durch die kleinere Anzahl .CDX (13 Dateien) vs .NTX (19 Dateien)

Nicht der Brüller aber bei den Indexaufrufen etwas schneller.
Grüsse Herbert
Immer in Bewegung...
Benutzeravatar
adrian
Rekursionen-Architekt
Rekursionen-Architekt
Beiträge: 272
Registriert: Mo, 08. Mai 2006 8:58
Wohnort: Aadorf TG
Danksagung erhalten: 1 Mal
Kontaktdaten:

Re: Reg-Einträge.... [ERLEDIGT]

Beitrag von adrian »

Salü Herbert
Superzahlen. Wie waren diese vor den Registriereinträgen? Netzwerk 100MB oder 1GB? Wie shen die Zeiten aus, wenn 2-3 Arbeitsplätze die Datenbanken offen haben?

Adi
es Grüessli

Adrian
Benutzeravatar
azzo
Rekursionen-Architekt
Rekursionen-Architekt
Beiträge: 487
Registriert: So, 28. Mär 2010 19:21
Danksagung erhalten: 12 Mal

Re: Reg-Einträge.... [ERLEDIGT]

Beitrag von azzo »

Hallo Herbert,
ich hatte ähnliche Probleme mit der Zugriffsgeschwindigkeit.
Wo liegen deine Dateien (lokal/Netz) und welches Betriebssystem verwendest du?
Werden die Datenbanken gleichzeitig von anderen Usern geöffnet?
Otto
Benutzeravatar
adrian
Rekursionen-Architekt
Rekursionen-Architekt
Beiträge: 272
Registriert: Mo, 08. Mai 2006 8:58
Wohnort: Aadorf TG
Danksagung erhalten: 1 Mal
Kontaktdaten:

Re: Reg-Einträge.... [ERLEDIGT]

Beitrag von adrian »

Hallo Otto

Die Eckdaten von uns (Herbert und mir) sind alle weiteroben beschrieben.

Daher Windows XP, 2000, Vista, 7 als Peer to Peer oder auf Windows 2003/2008 Server, eventuell noch auf mit einem NAS.

Die Daten sind logischerweise Zentral auf dem Server, bei 20 Arbeitsplätze ja nicht verwunderlich. :)

Was heisst bei Dir hatte, was hast Du dagegen gemacht?

adrian
es Grüessli

Adrian
Benutzeravatar
azzo
Rekursionen-Architekt
Rekursionen-Architekt
Beiträge: 487
Registriert: So, 28. Mär 2010 19:21
Danksagung erhalten: 12 Mal

Re: Reg-Einträge.... [ERLEDIGT]

Beitrag von azzo »

Halle adrian,
Ich habe diese Probleme nur mit XP und WINDOWS 2003 als Fileserver. Teileweise habe ich die Fileserver auf Windows 2000 zurückgesetzt. Aber ich habe auch im Programm Änderungen gemacht. Ich halte die Datenbanken nun so kurz als möglich offen.
Gruß
Otto

Hello ,

I had a similar problem with XP as a file server.

I noticed the speed problems only if a dbf-file was opened by more than one user at the same time.
To resolve the problem I changed all my programs and try to open the dbf-files as short as possible.

I don't know if you have already checked this, but there are certain registry changes that need to be made on PC's running record locking databases like DBFs.
Attached is a program that will test the registry and optionally make the changes for you. Note that you have to reboot after making the changes before they will become effective.

I suggest running the program on both the server and client PCs.

If you want to know more about this see the links in the message below.
----------------------------
From: "Lorenzo Fiorini" <nospam@please.com>
Subject: Re: dbfcdx test with current cvs (linux)
Date: Wednesday, April 14, 2004 5:49 PM
Sylvain Robert wrote:
> Thank's for taking the time to test, I want to see if we have a problem
> under Windows !
I'm sure you know Windows optimistic locking issue...
To test "real" multiuser performance you have to disable optimistic locking.
http://www.dataaccess.com/whitepapers/o ... ching.html
http://www.drouillard.ca/Tips&Tricks/Samba/Oplocks.htm
http://www.witzendcs.co.uk/html/nt_networking.html
http://www.acaciacons.com.au/Support/FileCorruption.htm
regards,
Lorenzo Fiorini
Otto

Posts: 1906
Joined: Fri Oct 07, 2005 7:07 pm
Website
Benutzeravatar
azzo
Rekursionen-Architekt
Rekursionen-Architekt
Beiträge: 487
Registriert: So, 28. Mär 2010 19:21
Danksagung erhalten: 12 Mal

Re: Reg-Einträge.... [ERLEDIGT]

Beitrag von azzo »

Benutzeravatar
Herbert
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 1991
Registriert: Do, 14. Aug 2008 0:22
Wohnort: Gmunden am Traunsee, Österreich
Danksagung erhalten: 3 Mal
Kontaktdaten:

Re: Reg-Einträge.... [ERLEDIGT]

Beitrag von Herbert »

adrian hat geschrieben:Salü Herbert
Superzahlen. Wie waren diese vor den Registriereinträgen? Netzwerk 100MB oder 1GB? Wie shen die Zeiten aus, wenn 2-3 Arbeitsplätze die Datenbanken offen haben?

Adi
Ich werde diese Tests noch erweitert ansehen. meine Zahlen kamen nur von einem User, um die direkte Differenz zwischen ntx und cdx zu sehen. Aber die Frage nach dem Verhalten bei mehreren Usern ist wichtig.
Otto hat geschrieben:Ich halte die Datenbanken nun so kurz als möglich offen.
Das sehe ich nicht so. Denn genau das öffnen macht laut Aussagen Vieler Zeitprobleme. Und wenn bereits 5 User arbeiten, so sind einige Der Dateien stets im Zugriff.
Grüsse Herbert
Immer in Bewegung...
Benutzeravatar
AUGE_OHR
Marvin
Marvin
Beiträge: 12913
Registriert: Do, 16. Mär 2006 7:55
Wohnort: Hamburg
Hat sich bedankt: 19 Mal
Danksagung erhalten: 46 Mal

Re: Reg-Einträge.... [ERLEDIGT]

Beitrag von AUGE_OHR »

Herbert hat geschrieben:Das sehe ich nicht so. Denn genau das öffnen macht laut Aussagen Vieler Zeitprobleme. Und wenn bereits 5 User arbeiten, so sind einige Der Dateien stets im Zugriff.
auf den Tip aus xpp-compilation.pdf mit
USE von Tabelle oder Index dauert lange (~1s)
•HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters\SharingViolationDelay = 0(default: 200)
•HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters\SharingViolationRetries = 0(default: 5)
habe ich ja schon mal hingewiesen.

Nun fällt mir ein : 8.3 oder "lange" Dateinamen ?
MS File-System-QUIZ
•Frage:Welche vitale Information des Dateisystemes wird in Windows Betriebssystemem per default nicht ge-cached?
Antwort steht in der xpp-compilation.pdf welche man auf der Website von Alaska bekommt.
Tip Q844350 und Q843418 ;)
gruss by OHR
Jimmy
Benutzeravatar
Herbert
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 1991
Registriert: Do, 14. Aug 2008 0:22
Wohnort: Gmunden am Traunsee, Österreich
Danksagung erhalten: 3 Mal
Kontaktdaten:

Re: Reg-Einträge.... [ERLEDIGT]

Beitrag von Herbert »

Ja, Jimmy, deshalb verwende ich weiterhin kurze DBF-Namen :doubt:
Grüsse Herbert
Immer in Bewegung...
Benutzeravatar
AUGE_OHR
Marvin
Marvin
Beiträge: 12913
Registriert: Do, 16. Mär 2006 7:55
Wohnort: Hamburg
Hat sich bedankt: 19 Mal
Danksagung erhalten: 46 Mal

Re: Reg-Einträge.... [ERLEDIGT]

Beitrag von AUGE_OHR »

Herbert hat geschrieben:... deshalb verwende ich weiterhin kurze DBF-Namen :doubt:
und du hast auch in der Registry nachgesehen das dort nicht doch was bei InfoCacheLevel steht (von anderen Programmen) ?
gruss by OHR
Jimmy
Benutzeravatar
Herbert
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 1991
Registriert: Do, 14. Aug 2008 0:22
Wohnort: Gmunden am Traunsee, Österreich
Danksagung erhalten: 3 Mal
Kontaktdaten:

Re: Reg-Einträge.... [ERLEDIGT]

Beitrag von Herbert »

wenn ich nur kurze Dateinamen verwende stört das ja nicht, oder?
Allerdings könnte ein langer Verzeichnisname davor liegen...

Aber ich habs in der Reg setzen lassen.
Grüsse Herbert
Immer in Bewegung...
Benutzeravatar
azzo
Rekursionen-Architekt
Rekursionen-Architekt
Beiträge: 487
Registriert: So, 28. Mär 2010 19:21
Danksagung erhalten: 12 Mal

Re: Reg-Einträge.... [ERLEDIGT]

Beitrag von azzo »

Hallo Herbert,
Ich habe den Thread absuchen lassen und bisher „Anti“ - „virus“ noch nicht als ein mögliches Problem gesehen. Ist die Antivirussoftware richtig eingestellt?
Gruß
Otto
Benutzeravatar
Herbert
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 1991
Registriert: Do, 14. Aug 2008 0:22
Wohnort: Gmunden am Traunsee, Österreich
Danksagung erhalten: 3 Mal
Kontaktdaten:

Re: Reg-Einträge.... [ERLEDIGT]

Beitrag von Herbert »

Anti-Virus ist richtig eingestellt. Danke für den Hinweis.
Grüsse Herbert
Immer in Bewegung...
Antworten