Fehler beim Lesen - dbusearea

Zugriff, Engines, Konvertierung. Von ADS über DBF bis zu SQL.

Moderator: Moderatoren

Benutzeravatar
Werner_Bayern
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 2125
Registriert: Sa, 30. Jan 2010 22:58
Wohnort: Niederbayern
Hat sich bedankt: 30 Mal
Danksagung erhalten: 75 Mal

Fehler beim Lesen - dbusearea

Beitrag von Werner_Bayern »

So, jetzt hat es mich auch erwischt!

Code: Alles auswählen

Xbase++ Version     : Xbase++ (R) Version 1.90.355
Betriebssystem      : Windows Vista 06.00 Build 06002 Service Pack 2
------------------------------------------------------------------------------------------
oError:args         :
          -> VALTYPE: L VALUE: .F.
          -> VALTYPE: U VALUE: NIL
          -> VALTYPE: C VALUE: j:\ww\adresse.dbf
          -> VALTYPE: U VALUE: NIL
          -> VALTYPE: L VALUE: .T.
oError:canDefault   : J
oError:canRetry     : J
oError:canSubstitute: N
oError:cargo        : NIL
oError:description  : Fehler beim Lesen
oError:filename     : 
oError:genCode      :         73
oError:operation    : DbUseArea
oError:osCode       :          0
oError:severity     :          2
oError:subCode      :       8999
oError:subSystem    : BASE
oError:thread       :          5
oError:tries        :          1
------------------------------------------------------------------------------
CALLSTACK:
------------------------------------------------------------------------------
Aufgerufen von NET_USE(12)
Aufgerufen von ADRESSEN(27)
Im Zusammenhang mit Server 2008R2, alles auf dem neuesten Stand. Die DBF ist ok. Was muss ich jetzt genau am Client und am Server machen?

Client:
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\MRXSmb\Parameters\OplocksDisabled = 1
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters\SharingViolationDelay = 0(default: 200)
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters\SharingViolationRetries = 0(default: 5)
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Lanmanworkstation\Parameters\DisableFlushOnCleanup = 1

Server:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters\EnableOplocks= 0
es grüßt

Werner

<when the music is over, turn off the lights!>
Benutzeravatar
Werner_Bayern
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 2125
Registriert: Sa, 30. Jan 2010 22:58
Wohnort: Niederbayern
Hat sich bedankt: 30 Mal
Danksagung erhalten: 75 Mal

Re: Fehler beim Lesen - dbusearea

Beitrag von Werner_Bayern »

Allgemeine Zustimmung :?:
Danke.
es grüßt

Werner

<when the music is over, turn off the lights!>
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: Fehler beim Lesen - dbusearea

Beitrag von Herbert »

Hmmm
s'gibt doch das Tool dazu, ohne nun merh selber die Registry in die Hände zu nehmen:
http://www.xbaseforum.de/viewtopic.php? ... mb2#p62530

hier hast du doch selber darüber gesprochen gehabt?
http://www.xbaseforum.de/viewtopic.php? ... 999#p65267
Grüsse Herbert
Immer in Bewegung...
Benutzeravatar
AUGE_OHR
Marvin
Marvin
Beiträge: 12906
Registriert: Do, 16. Mär 2006 7:55
Wohnort: Hamburg
Hat sich bedankt: 19 Mal
Danksagung erhalten: 45 Mal

Re: Fehler beim Lesen - dbusearea

Beitrag von AUGE_OHR »

Werner_Bayern hat geschrieben:Im Zusammenhang mit Server 2008R2, alles auf dem neuesten Stand. Die DBF ist ok. Was muss ich jetzt genau am Client und am Server machen?

Client:
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\MRXSmb\Parameters\OplocksDisabled = 1
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters\SharingViolationDelay = 0(default: 200)
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters\SharingViolationRetries = 0(default: 5)
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Lanmanworkstation\Parameters\DisableFlushOnCleanup = 1

Server:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters\EnableOplocks= 0
siehe dir mal "genau" an wo "Server" und wo "workstation" bei dir drin steht :angry4:

Frage : kannst du den Fehler "reproduzieren" ? wenn nein würde ich "nichts tun" und abwarten ...

deine Workstation ist wohl VISTA SP2, der Server 2008R2 ... und die andere(n) Workstation ?

Frage : waren die anderen Workstation beteiligt ?

wenn du beide Fragen mit "nein" beantwortest "denke" ich das hier kein "Ops-locking" Problem vorliegt.
gruss by OHR
Jimmy
Benutzeravatar
Koverhage
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 2470
Registriert: Fr, 23. Dez 2005 8:00
Wohnort: Aalen
Hat sich bedankt: 102 Mal
Danksagung erhalten: 3 Mal
Kontaktdaten:

Re: Fehler beim Lesen - dbusearea

Beitrag von Koverhage »

Momentan würde ich eine Antivirenprogramm vermuten.

Habe die letzten Tage folgende Fälle erlebt:

1. Fall
Kunde konnte 2,5 Stunden nicht arbeiten, die Exe wurde (vermutlich ohne Hinweis)
einfach gelöscht.

2. Fall
Es wird eine Strukturdatei geöffnet um zu prüfen ob sich diese geändert hat.
Leider konnte die nicht geöffnet werden (hier exclusive) da vom Antivirenprogramm
im Zugriff, d.h. es erfolgte ein Programmabbruch.
Gruß
Klaus
ramses
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 2513
Registriert: Mi, 28. Jul 2010 17:16
Hat sich bedankt: 12 Mal
Danksagung erhalten: 77 Mal

Re: Fehler beim Lesen - dbusearea

Beitrag von ramses »

@Klaus, ja, z.B. Norton löscht regelmässig alle Programme deren Hash Norton nicht bekannt ist. Glücklicherweise lässt sich dies Ausschalten.

Der Fehler 8999 hat mich die letzte Zeit schwer beschäftigt, in jedem Fall waren es die Antivirus-Programme, ich würde dies bei der Suche berücksichtigen.
Valar Morghulis

Gruss Carlo
Benutzeravatar
Werner_Bayern
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 2125
Registriert: Sa, 30. Jan 2010 22:58
Wohnort: Niederbayern
Hat sich bedankt: 30 Mal
Danksagung erhalten: 75 Mal

Re: Fehler beim Lesen - dbusearea

Beitrag von Werner_Bayern »

AUGE_OHR hat geschrieben:siehe dir mal "genau" an wo "Server" und wo "workstation" bei dir drin steht :angry4:

Frage : kannst du den Fehler "reproduzieren" ? wenn nein würde ich "nichts tun" und abwarten ...

deine Workstation ist wohl VISTA SP2, der Server 2008R2 ... und die andere(n) Workstation ?

Frage : waren die anderen Workstation beteiligt ?

wenn du beide Fragen mit "nein" beantwortest "denke" ich das hier kein "Ops-locking" Problem vorliegt.
Servus Jimmy,
was stimmt da nicht bei mir mit Server und WS? Server-Einstellungen hab ich inzwischen gemacht und den Server auch neu gestartet, keine Verbesserung, massive Fehler, ständig "Zugriff verweigert", sogar bei dbunlock()!

Reproduzieren: Ist beim Kunden, kann ich selbst nicht sagen...

Der Kunde hat alles Mögliche, also XP SP3 bis Win7 SP1, alles auf dem aktuellen Stand. Aber, wenn die Fehler auftreten, sind auch nur meist 1-2 Workstations beteiligt, auch heute (Sonntag) hat der Kunde den Fehler wieder gehabt, da war zu dem Zeitpunkt nur er (Vista SP2) betroffen, nur 1 andere WS (XP, SP3) war nur seit Freitag im Programm, jedoch ohne Benutzeraktivität.

Danke Dir!
es grüßt

Werner

<when the music is over, turn off the lights!>
Benutzeravatar
Werner_Bayern
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 2125
Registriert: Sa, 30. Jan 2010 22:58
Wohnort: Niederbayern
Hat sich bedankt: 30 Mal
Danksagung erhalten: 75 Mal

Re: Fehler beim Lesen - dbusearea

Beitrag von Werner_Bayern »

Koverhage hat geschrieben:Momentan würde ich eine Antivirenprogramm vermuten.
Servus Klaus,

leider nein, er hat AVG und hab mir gerade alle Einstellungen nochmal angesehen, es werden keine DBF - Dateien gescannt, es ist also nicht alle Dateien gewählt, sondern nur infizierbare. Ich hab jetzt sogar das komplette Programmverzeichnis ausgeklammert. Auf den Clients und dem Server.
es grüßt

Werner

<when the music is over, turn off the lights!>
Benutzeravatar
Werner_Bayern
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 2125
Registriert: Sa, 30. Jan 2010 22:58
Wohnort: Niederbayern
Hat sich bedankt: 30 Mal
Danksagung erhalten: 75 Mal

Re: Fehler beim Lesen - dbusearea

Beitrag von Werner_Bayern »

ramses hat geschrieben:Der Fehler 8999 hat mich die letzte Zeit schwer beschäftigt, in jedem Fall waren es die Antivirus-Programme, ich würde dies bei der Suche berücksichtigen.
Servus ramses,

leider nein, siehe vorherigen Beitrag, AV ist es nicht. Danke.
Zuletzt geändert von Werner_Bayern am So, 11. Mär 2012 23:42, insgesamt 1-mal geändert.
es grüßt

Werner

<when the music is over, turn off the lights!>
Benutzeravatar
Werner_Bayern
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 2125
Registriert: Sa, 30. Jan 2010 22:58
Wohnort: Niederbayern
Hat sich bedankt: 30 Mal
Danksagung erhalten: 75 Mal

Re: Fehler beim Lesen - dbusearea

Beitrag von Werner_Bayern »

Herbert hat geschrieben:Hmmm
s'gibt doch das Tool dazu, ohne nun merh selber die Registry in die Hände zu nehmen:
http://www.xbaseforum.de/viewtopic.php? ... mb2#p62530

hier hast du doch selber darüber gesprochen gehabt?
http://www.xbaseforum.de/viewtopic.php? ... 999#p65267
Servus Herbert,
ja, und genau das sind doch meine Versuche (wie Eingangsbeitrag von mir), jedoch leider ohne Erfolg (siehe vorherige Beiträge).
Danke.
es grüßt

Werner

<when the music is over, turn off the lights!>
Benutzeravatar
Werner_Bayern
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 2125
Registriert: Sa, 30. Jan 2010 22:58
Wohnort: Niederbayern
Hat sich bedankt: 30 Mal
Danksagung erhalten: 75 Mal

Re: Fehler beim Lesen - dbusearea

Beitrag von Werner_Bayern »

AUGE_OHR hat geschrieben:siehe dir mal "genau" an wo "Server" und wo "workstation" bei dir drin steht :angry4:
Oh, sorry, jetzt sehe ich erst das Fettgedruckte! Aber so stand es doch in der Info von Alaska?
den LanmanServer - Eintrag gibts auf der Worksatation!
Ist mein Eingangsbeitrag falsch?
es grüßt

Werner

<when the music is over, turn off the lights!>
Benutzeravatar
AUGE_OHR
Marvin
Marvin
Beiträge: 12906
Registriert: Do, 16. Mär 2006 7:55
Wohnort: Hamburg
Hat sich bedankt: 19 Mal
Danksagung erhalten: 45 Mal

Re: Fehler beim Lesen - dbusearea

Beitrag von AUGE_OHR »

Werner_Bayern hat geschrieben:den LanmanServer - Eintrag gibts auf der Worksatation!
ok du hast es selbst gemerkt.
Werner_Bayern hat geschrieben:Ist mein Eingangsbeitrag falsch?
"wenn" überhaupt, dann reduziere auf das Minimum Empfehlung "xugde-xpp-compilation.pdf" ( Usertreffen 2009 )
Client:
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\MRXSmb\Parameters\OplocksDisabled = 1
Server:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters\EnableOplocks= 0
auf dem Client muss IMHO noch
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\Lanmanworkstation\Parameters\UseOpportunisticLocking = 0
WENN es sich um XP Workstation Stationen handelt.http://support.microsoft.com/kb/129202
Werner_Bayern hat geschrieben:Der Kunde hat alles Mögliche, also XP SP3 bis Win7 SP1, alles auf dem aktuellen Stand.
wer XP verwendet ist laut M$ Definition nicht aktuell weil "ausgelaufen" ...
Werner_Bayern hat geschrieben:Aber, wenn die Fehler auftreten, sind auch nur meist 1-2 Workstations beteiligt, auch heute (Sonntag) hat der Kunde den Fehler wieder gehabt, da war zu dem Zeitpunkt nur er (Vista SP2) betroffen,
betroffen ist klar ...
Werner_Bayern hat geschrieben:nur 1 andere WS (XP, SP3) war nur seit Freitag im Programm, jedoch ohne Benutzeraktivität.
war die WS denn noch "aktive" d.h. im Netzwerk angemeldet ?

wenn nur 1 User im Netzwerk ist dann ist der Fehler ungewöhnlich für einen "typisches" SMB1 Problem ... oder ist es ein weiteres ALIAS() ?

ist der Vista SP2 evtl ein Notebook ?
Power-Saving der Client-Netzwerke-Karte ausschalten
wenn die Fehler immer von einer Workstation kommen würde ich auch mal die Hardware kontrollieren ( besonders bei Notebook ).

und last but not least : du kennst doch jetzt den Fehler, also warum fängst du den nicht ab ?

Code: Alles auswählen

FUNCTION OpenDBF(cUNC,cDBF)  // UNC Path + Name
...
      IF FILE(cUNC+cDBF)
         DO WHILE nTimeout > 0

          bOldError := ERRORBLOCK({| e | BREAK(e)})
          BEGIN SEQUENCE
          //
          // hier DBF öffnen
          //
          USE (cUNC+cDBF)

          IF .NOT. NETERR()  // check for Error
             //
             // open Index here. same Name with .CDX
             //
             SET INDEX TO (cUNC+STRTRAN(cDBF,".DBF",".CDX") )
             RETURN ( .T. )
          ENDIF

          RECOVER USING oError
             ErrorBlock( bSaveError )

             IF oError:subCode == 8999              
                 // recover know Error
                RETURN .F.
             ELSE
                 // try again until Timeout 
             ENDIF

          END SEQUENCE
          ERRORBLOCK(bOldError)

          INKEY( 0.1 )
          nTimeout -= 0.1
       ENDDO

    ELSE // no connection to server ?
       RETURN .F.
    ENDIF
RETURN .F.
gruss by OHR
Jimmy
Benutzeravatar
Tom
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 9361
Registriert: Do, 22. Sep 2005 23:11
Wohnort: Berlin
Hat sich bedankt: 101 Mal
Danksagung erhalten: 361 Mal
Kontaktdaten:

Re: Fehler beim Lesen - dbusearea

Beitrag von Tom »

Kann es sein, dass immer nur Tabellen betroffen sind, die Memofelder haben?
Herzlich,
Tom
Benutzeravatar
Werner_Bayern
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 2125
Registriert: Sa, 30. Jan 2010 22:58
Wohnort: Niederbayern
Hat sich bedankt: 30 Mal
Danksagung erhalten: 75 Mal

Re: Fehler beim Lesen - dbusearea

Beitrag von Werner_Bayern »

Tom hat geschrieben:Kann es sein, dass immer nur Tabellen betroffen sind, die Memofelder haben?
Servus Tom,
jein, fast alle Tabellen haben bei dem Programm Memo-Felder. Es kommt jedoch auch vor - aber in der alten DOS-Version des Programmes, das parallel läuft:

Code: Alles auswählen

Fehler DBFNTX/1012  Dateifehler festgestellt: USER0.dbf (DOS-Fehler: Zugriff verweigert) 
Aufgerufen von DBUSEAREA(0) 
Aufgerufen von NET_USE(23) 
oder auch

Code: Alles auswählen

Fehler DBFNTX/1010  Fehler beim Lesen der Datei (DOS-Fehler: Zugriff verweigert) 
Aufgerufen von DBSKIP(0)
Aber, wie geschrieben, bei der DOS-Version.
Nein, ich habe nicht drin:

Code: Alles auswählen

dbeInfo(DBE_LOCKMODE, LOCKING_EXTENDED)
Wir arbeiten hier selbst mit derselben Version (clipper und Xbase++) parallel und haben diese Probleme nicht, jedoch als Server noch einen 2003R2 SP2.
Danke!
es grüßt

Werner

<when the music is over, turn off the lights!>
Benutzeravatar
Werner_Bayern
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 2125
Registriert: Sa, 30. Jan 2010 22:58
Wohnort: Niederbayern
Hat sich bedankt: 30 Mal
Danksagung erhalten: 75 Mal

Re: Fehler beim Lesen - dbusearea

Beitrag von Werner_Bayern »

Servus Jimmy,

meine Infos sind aus der xpp-compilation-de.pdf. Ich darf hier nochmal versuchen, das übersichtlich darzustellen:

Client:
  • 1. HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\MRXSmb\Parameters\OplocksDisabled = 1
    2. HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters\SharingViolationDelay = 0(default: 200)
    3. HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters\SharingViolationRetries = 0(default: 5)
    4. HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Lanmanworkstation\Parameters\DisableFlushOnCleanup = 1
    5. Power-Saving der Netzwerkkarte ausschalten
Server:
  • 1. HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters\EnableOplocks= 0
    2. net config server /autodisconnect:-1
Beide
Anti-Virus Software darf keine DBF/NTX/CDX/FPT/DBT-Dateien untersuchen.

Gilt für OP-Locking /Netzwerkstabilität und IO-Performance (kann ja nicht schaden, das dann mitzumachen).

Wobei unter Client Punkt 2-4 aus der compilation nicht hervorgeht, ob am Server oder Client, bin vom Client ausgegangen.
Was ist falsch?

Danke!

[edit]:
war die WS denn noch "aktive" d.h. im Netzwerk angemeldet ?
Ja.
es grüßt

Werner

<when the music is over, turn off the lights!>
Benutzeravatar
AUGE_OHR
Marvin
Marvin
Beiträge: 12906
Registriert: Do, 16. Mär 2006 7:55
Wohnort: Hamburg
Hat sich bedankt: 19 Mal
Danksagung erhalten: 45 Mal

Re: Fehler beim Lesen - dbusearea

Beitrag von AUGE_OHR »

Werner_Bayern hat geschrieben: Client:
  • 1. HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\MRXSmb\Parameters\OplocksDisabled = 1
    2. HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters\SharingViolationDelay = 0(default: 200)
    3. HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters\SharingViolationRetries = 0(default: 5)
    4. HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Lanmanworkstation\Parameters\DisableFlushOnCleanup = 1
    5. Power-Saving der Netzwerkkarte ausschalten
Server:
  • 1. HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters\EnableOplocks= 0
    2. net config server /autodisconnect:-1
Beide
Anti-Virus Software darf keine DBF/NTX/CDX/FPT/DBT-Dateien untersuchen.

Gilt für OP-Locking /Netzwerkstabilität und IO-Performance (kann ja nicht schaden, das dann mitzumachen).

Wobei unter Client Punkt 2-4 aus der compilation nicht hervorgeht, ob am Server oder Client, bin vom Client ausgegangen.
Was ist falsch?
"SERVER" Einträge gehören zum "SERVER" und werden am "SERVER" in die Registry des "SERVER" eingetragen.
"WORKstation" Eintrage, sowie MRXSmb, gelten für die "WORKstation" und muss bei jeder "WORKstation" in die Registry der "WORKstation" eingetragen werden.

ABER es wird dir nichts nützen solange du ein XP / Vista / Win7 Netzwerk mit einem Srv2008R2 fährst.
wir hatten ja schon einige Diskussionen über die Probleme mit "gemischten" OS() und in einem Punkt sind wir wohl einig :
es sind primär die XP Stationen "verantwortlich".

in deiner NET_USE öffnest ja per Laufwerks Buchstaben "j:\ww\adresse.dbf". ich würde ab Vista mit UNC Path ( \\ServerJ\ww\...) arbeiten.
Einzelheiten bitte den entsprechenden Threads entnehmen.
Werner_Bayern hat geschrieben:[edit]:
war die WS denn noch "aktive" d.h. im Netzwerk angemeldet ?
Ja.
ok, damit kommen wir zum "wie" ... ich gehe mal davon aus das die Workstation NICHT EXCLUSIVE die Datei gelockt hat ;)

Frage : sprechen wir hier über "nur" Xbase++ oder auch Cl*pper ? FOXCDX oder DBFNTX ?
gruss by OHR
Jimmy
Benutzeravatar
brandelh
Foren-Moderator
Foren-Moderator
Beiträge: 15696
Registriert: Mo, 23. Jan 2006 20:54
Wohnort: Germersheim
Hat sich bedankt: 66 Mal
Danksagung erhalten: 33 Mal
Kontaktdaten:

Re: Fehler beim Lesen - dbusearea

Beitrag von brandelh »

Wobei immer wieder zu betonen ist, dass es hier für "SERVER" und "CLIENT" nicht darauf ankommt was M$ dazu sagt, sondern was die Kiste tut !

Wer Dateien zur Verfügung stellt, braucht SERVER Einstellungen.
Wer Dateien vom Server nutzt, braucht Client Einstellungen.

Beides kann auf einem Rechner mit jeder Windowsversion möglich sein !
Gruß
Hubert
Benutzeravatar
Werner_Bayern
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 2125
Registriert: Sa, 30. Jan 2010 22:58
Wohnort: Niederbayern
Hat sich bedankt: 30 Mal
Danksagung erhalten: 75 Mal

Re: Fehler beim Lesen - dbusearea

Beitrag von Werner_Bayern »

AUGE_OHR hat geschrieben:ich gehe mal davon aus das die Workstation NICHT EXCLUSIVE die Datei gelockt hat ;)
Frage : sprechen wir hier über "nur" Xbase++ oder auch Cl*pper ? FOXCDX oder DBFNTX ?
Yep, shared.
Yep, Xbase++ und Clipper DBFNTX.

Dann also nochmal fürs Protokoll :wink:

Client:
1. HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\MRXSmb\Parameters\OplocksDisabled = 1
2. HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Lanmanworkstation\Parameters\DisableFlushOnCleanup = 1
3. Power-Saving der Netzwerkkarte ausschalten
4. Ab Vista mit UNC Path ( \\ServerJ\ww\...) arbeiten

Server (oder PC, der Dateien zur Verfügung stellt):
1. HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters\EnableOplocks= 0
2. HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters\SharingViolationDelay = 0(default: 200)
3. HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters\SharingViolationRetries = 0(default: 5)
4. net config server /autodisconnect:-1

Beide
Anti-Virus Software darf keine DBF/NTX/CDX/FPT/DBT-Dateien untersuchen.

Gilt für OP-Locking /Netzwerkstabilität und IO-Performance.

Danke Jimmy und Hubert.
es grüßt

Werner

<when the music is over, turn off the lights!>
Benutzeravatar
AUGE_OHR
Marvin
Marvin
Beiträge: 12906
Registriert: Do, 16. Mär 2006 7:55
Wohnort: Hamburg
Hat sich bedankt: 19 Mal
Danksagung erhalten: 45 Mal

Re: Fehler beim Lesen - dbusearea

Beitrag von AUGE_OHR »

Werner_Bayern hat geschrieben:
AUGE_OHR hat geschrieben:ich gehe mal davon aus das die Workstation NICHT EXCLUSIVE die Datei gelockt hat ;)
Frage : sprechen wir hier über "nur" Xbase++ oder auch Cl*pper ? FOXCDX oder DBFNTX ?
Yep, shared.
Yep, Xbase++ und Clipper DBFNTX.
ok das sieht doch schon, von der Syntax, viel besser aus.

wenn du nur DBFNTX verwendest ist das verhalten "ungewöhnlich" denn auch Cl*pper Applikationen laufen ja durchaus unter 32bit OS up-to Win8 als Client von der Workstation und du solltest einen NetErr() statt 8999 bekommen. andererseits muss ist er ja beim versucht des "öffnen" abgestürzt und hat keinen DOS Error (2 = File not found) oder so ausgegeben.

Frage : wie "schnell" kommt der Absturz. "sofort" wenn der User auf den "Button" clickt oder mit einer leichten "Verzögerung" ?

die Vista SP2 Station, ist das ein Notebook ?
gruss by OHR
Jimmy
Benutzeravatar
Werner_Bayern
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 2125
Registriert: Sa, 30. Jan 2010 22:58
Wohnort: Niederbayern
Hat sich bedankt: 30 Mal
Danksagung erhalten: 75 Mal

Re: Fehler beim Lesen - dbusearea

Beitrag von Werner_Bayern »

Ok, dann werde ich die Registry-Änderungen machen.
AUGE_OHR hat geschrieben:wenn du nur DBFNTX verwendest ist das verhalten "ungewöhnlich" denn auch Cl*pper Applikationen laufen ja durchaus unter 32bit OS up-to Win8 als Client von der Workstation und du solltest einen NetErr() statt 8999 bekommen
Das ist ja das Komische, ich mache den dbusearea() - die Datei ist da und ok, die nächste Zeile ist logischerweise

Code: Alles auswählen

if .not. neterr()
soweit kommt er aber schon nicht mehr, es knallt beim dbusearea! Ich sehe gerade, dass ich sogar unmittelbar vor dem dbusearea noch prüfe, ob die zu öffnende Datei da ist.

Code: Alles auswählen

FUNCTION NET_USE(cDatei, lExclusiv, cAlias) // cDatei immer inkl. kompl. Pfad!

if .not. "." $ cDatei
        cDatei := rtrim(cDatei) + ".dbf"
endif
if .not. file(cDatei)
        return .f.
endif
dbusearea(.f., NIL, cDatei, cAlias, .not. lExclusiv)
IF .NOT. NETERR()           // gebongt!
        RETURN .T.
endif
Wie schnell der Fehler kommt, da muss ich den Kunden fragen. Nein, kein Notebook.
es grüßt

Werner

<when the music is over, turn off the lights!>
Benutzeravatar
brandelh
Foren-Moderator
Foren-Moderator
Beiträge: 15696
Registriert: Mo, 23. Jan 2006 20:54
Wohnort: Germersheim
Hat sich bedankt: 66 Mal
Danksagung erhalten: 33 Mal
Kontaktdaten:

Re: Fehler beim Lesen - dbusearea

Beitrag von brandelh »

Die Funktion wird dann scheitern, wenn die Datei mehr als einen '.' enthält, das ist jetzt erlaubt !
Hat aber nichts mit deinem Problem zu tun ;-)
Gruß
Hubert
Benutzeravatar
Tom
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 9361
Registriert: Do, 22. Sep 2005 23:11
Wohnort: Berlin
Hat sich bedankt: 101 Mal
Danksagung erhalten: 361 Mal
Kontaktdaten:

Re: Fehler beim Lesen - dbusearea

Beitrag von Tom »

Aus der (etwas veralteten) Fehler-Hilfedatei von Andreas Gehrs-Pahl:

8037 - [BASE] - ???
Associated with: "73:Error while reading a File"
Caused by: Access to memo field in "x.dbt" file (CDXDBF) on Windows XP
workstation and Novell Netware Server, using un-patched
Novell Client (4.83 SP 1 is needed for NT/2K/XP).


Meine Frage lautetet ja schon zuvor, ob ausschließlich Tabellen mit Memofeldern betroffen sind. Ich nehme an, dass das der Fall ist. Es wird, weiterhin angenommen, auch nur auftreten, wenn die fragliche Tabelle bereits mindestens einmal geöffnet ist, richtig? Dieses Problem hat dann nämlich tatsächlich mit serverseitig aktiviertem OpLocking zu tun, es wird von einem Fehler im Redirector verursacht, der Memo-Dateien für alle Nutzer schließt, wenn eine dazugehörige Tabelle an einem Arbeitsplatz geschlossen wird. Das Problem gab es schon mit Server 2003 und ist dann irgendwann mit einem Patch versehen worden. Mit 2008 tritt es nun wieder auf. Es wird verschwinden, wenn das serverseitige OpLocking abgeschaltet wird. Besser: Applikation auf ADS umstellen. :wink:
Herzlich,
Tom
Benutzeravatar
Werner_Bayern
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 2125
Registriert: Sa, 30. Jan 2010 22:58
Wohnort: Niederbayern
Hat sich bedankt: 30 Mal
Danksagung erhalten: 75 Mal

Re: Fehler beim Lesen - dbusearea

Beitrag von Werner_Bayern »

Merci Hubert.
es grüßt

Werner

<when the music is over, turn off the lights!>
Benutzeravatar
Werner_Bayern
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 2125
Registriert: Sa, 30. Jan 2010 22:58
Wohnort: Niederbayern
Hat sich bedankt: 30 Mal
Danksagung erhalten: 75 Mal

Re: Fehler beim Lesen - dbusearea

Beitrag von Werner_Bayern »

Tom,

leider nein. Serverseitige OpLocking ist aus und unter Clipper erhalte ich immer wieder:

Code: Alles auswählen

Fehler DBFNTX/1012  Dateifehler festgestellt: USER0.dbf (DOS-Fehler: Zugriff verweigert)
Kein Memo-Feld, die Datei wird auch nur von einem Benutzer geöffnet, hier sogar exclusiv. Es knallt wieder schon beim dbusearea. Wobei hier noch komisch ist, dass Clipper einen Dateifehler meldet und ferror() dann den Zugriff verweigert (5) zurückgibt.
Beim nächsten Versuch gehts dann wieder...

Oder sowas:

Code: Alles auswählen

Fehler DBFNTX/1010  Fehler beim Lesen der Datei (DOS-Fehler: Zugriff verweigert) 
Aufgerufen von DBSEEK(0)
Läuft unverändert seit 21 Jahren der Code! Wir checken gerade nochmal den kompletten Server, ob da irgendwas ständig die Dateien sperrt...

Z. Z. wird leider das Programm nur mehr in der alten DOS-Version benutzt wg. der seit der Einführung der neuen Xbase++ - Version aufgetretenen Fehlermeldungen. Wobei diese - das sehe ich gerade im Fehlerprotokoll der DOS-Version von 2011 - auch schon auf dem alten 2003er Server auftraten, jedoch nicht so häufig wie jetzt unter dem 2008er. Es scheint offensichtlich kein reines Xbase++ - Phänomen zu sein! Der Fehler tritt bei beiden Versionen auf, nur eben in leicht abgeänderter Form.
es grüßt

Werner

<when the music is over, turn off the lights!>
Benutzeravatar
Werner_Bayern
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 2125
Registriert: Sa, 30. Jan 2010 22:58
Wohnort: Niederbayern
Hat sich bedankt: 30 Mal
Danksagung erhalten: 75 Mal

Re: Fehler beim Lesen - dbusearea

Beitrag von Werner_Bayern »

Ich konnte das Verhalten jetzt unter Xbase++ provozieren: Wird die dbf vorher im Explorer mit schreibgeschützt markiert, dann gibt den 8999 beim dbusearea().
Also irgendwas auf dem Server lockt zwischenzeitlich die dbf´s und Indexe... Dadurch gibt die Fehlermeldungen: Fehler beim Öffnen und Fehler beim Lesen, je nachdem ob die Datei durch die Xbase-Anwendung bereits geöffnet war oder nicht.
es grüßt

Werner

<when the music is over, turn off the lights!>
Antworten