Fehler bei DbRUnLock()

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

Moderator: Moderatoren

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

Fehler bei DbRUnLock()

Beitrag von Jan »

Gerade bekomme ich eine Fehlermeldung rein:
Sprachen-Version : 1.90.355
Betriebssystem :Windows 7 06.01 Build 07601 Service Pack 1
------------------------------------------------------------------------------
oError:args :
oError:canDefault : .T.
oError:canRetry : .F.
oError:canSubstitute: .F.
oError:cargo : NIL
oError:description : D
oError:filename :
oError:genCode : 8999
oError:operation : DbRUnlock
oError:osCode : 0
oError:severity : 2
oError:subCode : 0
oError:subSystem : BASE
oError:thread : 1
oError:tries : 0
Was soll ich dazu sagen? Passiert ist das in solch einer Situation:

Code: Alles auswählen

IF cAlias->(DbRLock())
   cAlias->cFeld := cWert
   cAlias->(DbRUnLock())   <=== Hier kommt der Fehler
ENDIF
Wie kann sowas denn passieren?

Jan
Mitglied der XUG Osnabrück
Mitglied der XUG Berlin/Brandenburg
Mitglied des Deutschsprachige Xbase-Entwickler e. V.
Benutzeravatar
Rolf Ramacher
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 1930
Registriert: Do, 09. Nov 2006 10:33
Wohnort: Bergheim
Danksagung erhalten: 3 Mal
Kontaktdaten:

Re: Fehler bei DbRUnLock()

Beitrag von Rolf Ramacher »

Guten Morgen Jan

Ich mache das immer so

Code: Alles auswählen

do while 123->(!RLock()
enddo
dann tue etwas
123->(DbUnlock()) 
keine Probleme bisher.
Gruß Rolf

Mitglied der Gruppe XUG-Cologne
www.xug-cologne.de
Benutzeravatar
Hans Zethofer
Rekursionen-Architekt
Rekursionen-Architekt
Beiträge: 278
Registriert: Fr, 27. Jan 2006 8:29
Wohnort: 2700 Wiener Neustadt
Hat sich bedankt: 1 Mal
Kontaktdaten:

Re: Fehler bei DbRUnLock()

Beitrag von Hans Zethofer »

Hallo!

benötigst du unbedingt ein "DbRUnlock()" ?
verwende doch einmal nur ein DbUnlock()
_____________
lg
Hans
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 bei DbRUnLock()

Beitrag von Herbert »

Rolf, wenn der Rlock nie klappt, dann hast du so einen Hänger...
Pack das Ganze in eine For-Schlaufe mit 3-5 Versuchen und einem kleinen Wait dazwischen.

Jan, stehst du auf Eof?
Grüsse Herbert
Immer in Bewegung...
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 bei DbRUnLock()

Beitrag von Koverhage »

Ich benutze den normal nur mit Recno()

Ansonsten Virenscanner ?
Gruß
Klaus
Benutzeravatar
Jan
Marvin
Marvin
Beiträge: 14641
Registriert: Fr, 23. Sep 2005 18:23
Wohnort: 49328 Melle
Hat sich bedankt: 21 Mal
Danksagung erhalten: 87 Mal
Kontaktdaten:

Re: Fehler bei DbRUnLock()

Beitrag von Jan »

Hallo Herbert,

nicht das ich wüßte. Aber wenn ich auf EoF() stehen würde, dann würde der doch garnicht erst in die Schleife reingehen, oder? Mich irritiert bei der ganzen Sache, das es erstens ansich immer funktioniert. Und das der zum unlock nur kommen KANN, wenn das locken vorher auch funktioniert hat. Ansich sollte also kein Grund bestehen, warum das unlocken nicht klappen sollte. Wobei die Fehlermeldung natürlich mal wieder diese unglaublich hilfreiche 8999 ist ...

Jan
Mitglied der XUG Osnabrück
Mitglied der XUG Berlin/Brandenburg
Mitglied des Deutschsprachige Xbase-Entwickler e. V.
Benutzeravatar
Jan
Marvin
Marvin
Beiträge: 14641
Registriert: Fr, 23. Sep 2005 18:23
Wohnort: 49328 Melle
Hat sich bedankt: 21 Mal
Danksagung erhalten: 87 Mal
Kontaktdaten:

Re: Fehler bei DbRUnLock()

Beitrag von Jan »

Hallo Klaus,

hmmm ... Virenscanner. Die sind natürlich immer irgendwie ein Problem. Aber warum könnte der ausgerechnet bei einem unlock dazwischen funken? Klar hat man schon Pferde kotzen gesehen. Aber verstehen tu ich das trotzdem nicht wirklich.

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: Fehler bei DbRUnLock()

Beitrag von Herbert »

...immerhin ist nicht Montagmorgen :x
Der Virenscanner wird eher bei Unlock motzen, denn beim Lock erfolgte noch keine Aenderung.
Grüsse Herbert
Immer in Bewegung...
Benutzeravatar
Jan
Marvin
Marvin
Beiträge: 14641
Registriert: Fr, 23. Sep 2005 18:23
Wohnort: 49328 Melle
Hat sich bedankt: 21 Mal
Danksagung erhalten: 87 Mal
Kontaktdaten:

Re: Fehler bei DbRUnLock()

Beitrag von Jan »

Hallo Herbert,

das ist natürlich ein Argument.

Jan
Mitglied der XUG Osnabrück
Mitglied der XUG Berlin/Brandenburg
Mitglied des Deutschsprachige Xbase-Entwickler e. V.
Benutzeravatar
brandelh
Foren-Moderator
Foren-Moderator
Beiträge: 15688
Registriert: Mo, 23. Jan 2006 20:54
Wohnort: Germersheim
Hat sich bedankt: 65 Mal
Danksagung erhalten: 33 Mal
Kontaktdaten:

Re: Fehler bei DbRUnLock()

Beitrag von brandelh »

Laut Hilfe müsste DbRUnLock() ohne Parameter das gleiche tun wie UNLOCK oder DBUNLOCK(), wenn man
PRG hat geschrieben: UNLOCK
UNLOCK ALL
dbunlock()
dbrunlock()
übersetzen läßt, folgt daraus diese Funktionen ...
PPO hat geschrieben: dbUnlock()
dbUnlockAll()
dbunlock()
dbrunlock()
beim UNLOCK wird tatsächlich alles geschrieben, was vorher noch im cache war.
Gruß
Hubert
Benutzeravatar
Tom
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 9345
Registriert: Do, 22. Sep 2005 23:11
Wohnort: Berlin
Hat sich bedankt: 100 Mal
Danksagung erhalten: 359 Mal
Kontaktdaten:

Re: Fehler bei DbRUnLock()

Beitrag von Tom »

Dieser Fehler verweist in aller Regel auf eine Datei- oder Indexkorruption.
Herzlich,
Tom
Benutzeravatar
AUGE_OHR
Marvin
Marvin
Beiträge: 12903
Registriert: Do, 16. Mär 2006 7:55
Wohnort: Hamburg
Hat sich bedankt: 19 Mal
Danksagung erhalten: 44 Mal

Re: Fehler bei DbRUnLock()

Beitrag von AUGE_OHR »

ich würde auf Netzwerk tippen ...

p.s. das "original" XppError.LOG sagt sehr wenig ... wenn man wüsste ob der ALIAS noch aktive ist ...
gruss by OHR
Jimmy
Benutzeravatar
Jan
Marvin
Marvin
Beiträge: 14641
Registriert: Fr, 23. Sep 2005 18:23
Wohnort: 49328 Melle
Hat sich bedankt: 21 Mal
Danksagung erhalten: 87 Mal
Kontaktdaten:

Re: Fehler bei DbRUnLock()

Beitrag von Jan »

Jimmy,

das Errorlog sagt mir, daß das Programm lokal ausgeführt wurde.

Abgesehen davon ist das Programm zwar netzwerkfähig, aber wird in 99,9 % immer am Einzelplatz ausgeführt.

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: Fehler bei DbRUnLock()

Beitrag von Herbert »

Tom hat geschrieben:Dieser Fehler verweist in aller Regel auf eine Datei- oder Indexkorruption.
:D
http://de.wikipedia.org/wiki/Korruption
Ja, so ist alles klar. :^o

Seriös: Hast du den Virenscanner deaktivieren können?
Grüsse Herbert
Immer in Bewegung...
Benutzeravatar
Jan
Marvin
Marvin
Beiträge: 14641
Registriert: Fr, 23. Sep 2005 18:23
Wohnort: 49328 Melle
Hat sich bedankt: 21 Mal
Danksagung erhalten: 87 Mal
Kontaktdaten:

Re: Fehler bei DbRUnLock()

Beitrag von Jan »

Hallo Herbert,

schön wars ... Mein Problem ist, das man die Software auch als Demo runterladen kann. Und dann steht im mir zugemailten Errorlog halt nicht drin, wer das gewesen ist (außer das es die Demo war). Ich kann mich mit dem Anwender leider nicht in Verbindung setzen, weil ich einfach nicht weiß wer das war.

Jan
Mitglied der XUG Osnabrück
Mitglied der XUG Berlin/Brandenburg
Mitglied des Deutschsprachige Xbase-Entwickler e. V.
Benutzeravatar
AUGE_OHR
Marvin
Marvin
Beiträge: 12903
Registriert: Do, 16. Mär 2006 7:55
Wohnort: Hamburg
Hat sich bedankt: 19 Mal
Danksagung erhalten: 44 Mal

Re: Fehler bei DbRUnLock()

Beitrag von AUGE_OHR »

Jan hat geschrieben:das Errorlog sagt mir, daß das Programm lokal ausgeführt wurde.
dann poste doch bitte das gesamte Errorlog.

Frage : wurden Threads verwendet ?
gruss by OHR
Jimmy
Benutzeravatar
Jan
Marvin
Marvin
Beiträge: 14641
Registriert: Fr, 23. Sep 2005 18:23
Wohnort: 49328 Melle
Hat sich bedankt: 21 Mal
Danksagung erhalten: 87 Mal
Kontaktdaten:

Re: Fehler bei DbRUnLock()

Beitrag von Jan »

AUGE_OHR hat geschrieben:dann poste doch bitte das gesamte Errorlog.
Wieso? Da fehlt nur die Zeile mit der Angabe der exe. Die eben halt auf einen lokalen Laufwerksbuchstaben hinweist. Und eben die Liste der prg mit den Codezeilen. Nix außergewöhnliches.
AUGE_OHR hat geschrieben:Frage : wurden Threads verwendet ?
Antwort: Ja klar. Wieso?

Jan
Mitglied der XUG Osnabrück
Mitglied der XUG Berlin/Brandenburg
Mitglied des Deutschsprachige Xbase-Entwickler e. V.
Benutzeravatar
satmax
1000 working lines a day
1000 working lines a day
Beiträge: 831
Registriert: Do, 02. Dez 2010 19:34
Wohnort: Biberbach in Österreich
Hat sich bedankt: 1 Mal
Danksagung erhalten: 1 Mal
Kontaktdaten:

Re: Fehler bei DbRUnLock()

Beitrag von satmax »

Hallo Jan,

ich hatte vor ca. 1 Jahr ein ähnliches Problem, du hast mir geantwortet:
Eine Eigenheit von 8999 liegt darin, selten wirklich die Codezeile auszuwerfen die Schuld daran ist.


Hier der Thread: http://xbaseforum.de/viewtopic.php?f=32&t=7531#p83658

Bei mir hatte nur eine Umstellung des Codes (andere Ablauf, oder so) geholfen. Da ich inzwischen aber vollständig auf SQL umgestellt habe kann ich da nicht mehr nachsehen.
Gruß
Markus
Benutzeravatar
Martin Altmann
Foren-Administrator
Foren-Administrator
Beiträge: 16501
Registriert: Fr, 23. Sep 2005 4:58
Wohnort: Berlin
Hat sich bedankt: 111 Mal
Danksagung erhalten: 48 Mal
Kontaktdaten:

Re: Fehler bei DbRUnLock()

Beitrag von Martin Altmann »

Markus,
da war sicherlich der Virenscanner ursächlich für Deinen Fehler - Änderung am Code, neu kompiliert, neue Prüfsumme und leicht anderes Verhalten - schon klappt es wieder...

Viele Grüße,
Martin
:grommit:
Webseite mit XB2.NET und ausschließlich statischem Content in Form von HTML-Dateien: https://www.altem.de/
Webseite mit XB2.NET und ausschließlich dynamischem Content in Form von in-memory-HTML: https://meldungen.altem.de/

Mitglied der XUG Osnabrück
Vorsitzender des Deutschsprachige Xbase-Entwickler e. V.
Benutzeravatar
satmax
1000 working lines a day
1000 working lines a day
Beiträge: 831
Registriert: Do, 02. Dez 2010 19:34
Wohnort: Biberbach in Österreich
Hat sich bedankt: 1 Mal
Danksagung erhalten: 1 Mal
Kontaktdaten:

Re: Fehler bei DbRUnLock()

Beitrag von satmax »

Das ist leicht möglich, seit der SQL Umstellung kenne ich solche Probleme nicht mehr. :D
Gruß
Markus
Benutzeravatar
Jan
Marvin
Marvin
Beiträge: 14641
Registriert: Fr, 23. Sep 2005 18:23
Wohnort: 49328 Melle
Hat sich bedankt: 21 Mal
Danksagung erhalten: 87 Mal
Kontaktdaten:

Re: Fehler bei DbRUnLock()

Beitrag von Jan »

Mist! Gerade kam wieder der gleiche Fehler rein, anderer Kunde, andere Code-Stelle, aber wieder beim DbRUnLock(). Da muß ich ganz dringend irgendwas machen, sonst werden meine Kunden mich hassen ...

Jan
Mitglied der XUG Osnabrück
Mitglied der XUG Berlin/Brandenburg
Mitglied des Deutschsprachige Xbase-Entwickler e. V.
Benutzeravatar
AUGE_OHR
Marvin
Marvin
Beiträge: 12903
Registriert: Do, 16. Mär 2006 7:55
Wohnort: Hamburg
Hat sich bedankt: 19 Mal
Danksagung erhalten: 44 Mal

Re: Fehler bei DbRUnLock()

Beitrag von AUGE_OHR »

satmax hat geschrieben:Das ist leicht möglich, seit der SQL Umstellung kenne ich solche Probleme nicht mehr. :D
bei Cl*pper v5.2e arbeitet SMB "sauber" unter Win7/8x ...
aber da gibt es auch keine Threads die zusätzliche Ops Locking Probleme verursachen ;)
gruss by OHR
Jimmy
Benutzeravatar
Jan
Marvin
Marvin
Beiträge: 14641
Registriert: Fr, 23. Sep 2005 18:23
Wohnort: 49328 Melle
Hat sich bedankt: 21 Mal
Danksagung erhalten: 87 Mal
Kontaktdaten:

Re: Fehler bei DbRUnLock()

Beitrag von Jan »

Wäre es sinnvoll und möglich, eine eigene MyDbRUnlock()-Funktion zu schreiben, in die ich ein eigene Fehlerbehandlung per BEGIN SEQUENCE einbaue? Das müßte doch wohl eine Möglichkeit sein, diesen Fehler sauber abzufangen.

Würde es alterntaiv eventuell helfen, vor dem DbRUnLock() ein DbSkip(0) oder ein DbCommit() einzubauen? Oder würde das nur den Zeitpunkt der Fehlermeldung verlagern?

Jan
Mitglied der XUG Osnabrück
Mitglied der XUG Berlin/Brandenburg
Mitglied des Deutschsprachige Xbase-Entwickler e. V.
Bernd Reinhardt
Rekursionen-Architekt
Rekursionen-Architekt
Beiträge: 159
Registriert: So, 16. Apr 2006 11:12
Wohnort: Öhringen

Re: Fehler bei DbRUnLock()

Beitrag von Bernd Reinhardt »

Hallo.
Ich hatte die selben Fehler, mal create index, mal unlock. Nicht richtig reproduzierbar.

Bei mir war es definitiv der Virenscanner, und zwar die Aktivitätskontrolle.
Wenn das Programm und die Daten lokal waren, ist der Fehler sehr selten aufgetreten.
Wenn die Daten im Netzwerk lagen (egal mit gemappten Laufwerk oder \\IP) angesprochen,
dann trat der Fehler häufiger auf. (Auch wenn die Daten auf der NAS liegen, also kein Server)

Ich bat mal einen Kunden den Scanner abzuschalten, seither hatte er kein Problem mehr.
Selbst wenn nur ein Programm auf eine Datei zugreift passiert der Fehler. Hat also nichts
mit Mehrplatzanwendung zu tun.
Noch eine Eigenart hatte ich festgestellt.
Indexdatei gelöscht und Programm gestartet. Ist beim Indexaufbau dann auch abgebrochen, allerdings
war der Index richtig vorhanden.
Das Programm beendet und den Index benutzt hat dann funktioniert.

Ich hatte die Indexe gelöscht und das Programm gestartet. Nach dem 10. Start waren dann alle Indexe erstellt und das
Programm hat funktioniert. (Ich baue dann nur noch die nicht vorhandenen Indexe auf)

Wenn ich im Programm meine Funktion fmyreindex() aufgerufen habe, und die Indexe alle gelöscht und neu aufbauen wollte,
dann ist das Programm nie durchgelaufen, da ich die Indexe nach dem Abbruch beim Programmstart alle wieder gelöscht wurden.
Bei einem der vielen Indexe ist das Programm dann abgestürzt.

Beim Aufbau vieler Indexe tritt der Fehler dann auch "zeitnah" auf und man kann mal an den Stellschrauben vom Virenscanner arbeiten.
Ich hab an anderer Stelle im Forum schon mal darauf hingewiesen.
Hoffe mal das hilft.

Gruß
Bernd
Bernd Reinhardt
fa.reinhardt@gmx.de
Bernd Reinhardt
Rekursionen-Architekt
Rekursionen-Architekt
Beiträge: 159
Registriert: So, 16. Apr 2006 11:12
Wohnort: Öhringen

Re: Fehler bei DbRUnLock()

Beitrag von Bernd Reinhardt »

Hallo.
Nachdem die Indexe fehlerfrei erstellt wurden, trat auch der Fehler mit unlock nicht mehr auf.
Gruß
Bernd
Bernd Reinhardt
fa.reinhardt@gmx.de
Antworten