Betriebssystemfehler

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

Moderator: Moderatoren

Antworten
Werner
Rekursionen-Architekt
Rekursionen-Architekt
Beiträge: 123
Registriert: Sa, 18. Mär 2006 16:08

Betriebssystemfehler

Beitrag von Werner »

Hi!

Ich bekomme beim Laden eines Falls von der Datenbank über einen Suchbegriff manchmal eine ganz ungewöhnliche Fehlermeldung:

Fehler: BASE/4
Beschreibung: Betriebssystemfehler
Operation: DbCreateIndex
Thread ID: 1
Aufgerufen von brow2(469)

Die Programmierung an dieser Stelle sieht wie folgt aus:

USE vv_grund.dbf ALIAS GRUND EXCLUSIVE
INDEX ON GRUND->zname to vs_name
SET INDEX to vs_name

Beim Aufruf von INDEX ON GRUND->zname to vs_name tritt die oben skizzierte Fehlermeldung auf.

Kann mir jemand einen Tipp geben, was hier evtl. falsch läuft? Ich muss dazu sagen. dass dieser Fehler nur sehr selten bzw. erst seit Kurzem auftritt.

MfG

Werner
Benutzeravatar
Tom
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 9394
Registriert: Do, 22. Sep 2005 23:11
Wohnort: Berlin
Hat sich bedankt: 105 Mal
Danksagung erhalten: 364 Mal
Kontaktdaten:

Re: Betriebssystemfehler

Beitrag von Tom »

Ursache ist ziemlich wahrscheinlich ein On-demand-Virenscanner. Datenbankverzeichnisse sollten immer als Ausnahmen für diese Scheißdinger definiert sein.
Herzlich,
Tom
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: Betriebssystemfehler

Beitrag von brandelh »

Ich habe Betriebssystemfehler bei DBSEEK, close open etc. ...

aber nur auf den neuen Windows 2008 Terminalservern ohne die richtigen Win7 Einstellungen.
Gruß
Hubert
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: Betriebssystemfehler

Beitrag von AUGE_OHR »

wie Tom schon sagte ist es vermutlich der Virenscanner der auf das TMP Verzeichniss Zugriff hat
TMP=<Verzeichnis>

Im TMP Verzeichnis werden temporäre Dateien angelegt, z.B. wenn INDEX ON oder DbSort() ausgeführt wird.
PBUILD.EXE verwendet das Verzeichnis für temporäre Skriptdateien, die nicht gelöscht werden, wenn PBUILD.EXE mit dem Schalter /k ausgeführt wird.
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: Betriebssystemfehler

Beitrag von Herbert »

... oder es fehlt momentan (ev. wegen des Virenscanners aber möglicherweise auch sonst) an den Schreibrechten im entsprechenden Verzeichnis, so dass der Index nicht angelegt werden kann.
Grüsse Herbert
Immer in Bewegung...
Daniel

Re: Betriebssystemfehler

Beitrag von Daniel »

Äähm, wie kommt Ihr eigentlich auf ein "Temp"-Verzeichnis?
Werner schrieb doch nichts davon, und ohne solche Angabe wird der Index meines Wissens im Verzeichnis der DB angelegt.

Wäre es ein "Temp"-Verzeichnis, so hatte ich damit allerdings auch schon solche Probleme mit temp. Index.

Falls das Ganze im Netzwerk stattfindet, sollte man vor dem Indizieren auf NetErr() abfragen. Ich mache das meist mit einer UDF, die während einer gewissen Zeit versucht, die DBF zu öffnen. Weiter geht es erst, (mit Index, ...) wenn das erfolgreich war, dh. kein NetErr() mehr auftritt.
georg
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 2832
Registriert: Fr, 08. Feb 2008 21:29
Hat sich bedankt: 99 Mal
Danksagung erhalten: 13 Mal

Re: Betriebssystemfehler

Beitrag von georg »

Hallo, Daniel -


Jimmy hat aus der Xbase-Dokumentation zitiert. Xbase scheint bei bestimmten Operationen Dateien in dem mit TMP= bezeichneten Verzeichnis abzulegen. Dann bedarf es auch keiner expliziten Nennung (aber das war mir auch neu).
Liebe Grüsse aus der Eifel,

Georg S. Lorrig
Redakteur der Wiki des Deutschprachigen Xbase-Entwickler e.V.
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: Betriebssystemfehler

Beitrag von AUGE_OHR »

Daniel hat geschrieben:Äähm, wie kommt Ihr eigentlich auf ein "Temp"-Verzeichnis?
es geht nicht um TEMP sondern um TMP was seit Cl*pper für solche Aktionen genutzt wird.
gruss by OHR
Jimmy
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: Betriebssystemfehler

Beitrag von brandelh »

Jimmy meint die Umgebungsvariablen TMP und TEMP, diese kann man in einer CMD abfragen:

Code: Alles auswählen

SET TMP
SET TEMP
Auch bei Windows 8 wurde (bei mir ?) TEMP gesetzt, eventuell aber nicht TMP.

Ob eine Anwendung dort aber überhaupt schreiben will (außer dem Compiler) weiß ich nicht,
die temporären Indexdateien, Fehlermeldungen etc. landen bei mir immer im aktuellen Verzeichnis (wehe wenn es ein CD-ROM ist :badgrin: )
Gruß
Hubert
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: Betriebssystemfehler

Beitrag von AUGE_OHR »

brandelh hat geschrieben:Ob eine Anwendung dort aber überhaupt schreiben will (außer dem Compiler) weiß ich nicht, die temporären Indexdateien, Fehlermeldungen etc. landen bei mir immer im aktuellen Verzeichnis (wehe wenn es ein CD-ROM ist :badgrin: )
das mit den "temporären Indexdateien" kann nicht sein ... brich mal mit ALT-C während eines INDEX ON ab.

es war schon unter Cl*pper so das man TMP statt TEMP setzten musste um das Problem, was nicht bei jedem PC auftritt, zu beheben.

p.s. das Zitat ist aus dem Help File unter "Umgebungsvariablen" zu finden
gruss by OHR
Jimmy
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: Betriebssystemfehler

Beitrag von brandelh »

AUGE_OHR hat geschrieben:
brandelh hat geschrieben:Ob eine Anwendung dort aber überhaupt schreiben will (außer dem Compiler) weiß ich nicht, die temporären Indexdateien, Fehlermeldungen etc. landen bei mir immer im aktuellen Verzeichnis (wehe wenn es ein CD-ROM ist :badgrin: )
das mit den "temporären Indexdateien" kann nicht sein ... brich mal mit ALT-C während eines INDEX ON ab.
habe ich gemacht (XP SP 3 mit TEMP und TMP auf ein anderes Laufwerk als dem aktuellen gesetzt.) ...
hier sind die Dateien die DBU angelegt hat:
IndexAbbruch.png
IndexAbbruch.png (7.04 KiB) 5499 mal betrachtet
TEST.NTX, die Datei mit dem zu erstellende Index-Datei.
xpp7F.tmp, wurde im aktuellen Verzeichnis angelegt ...
XPPFATAL.LOG, ALT-C wie gewünscht ;-)

PS: DBU => Xbase++ compilierte Version, die Hilfe irrt ab und zu :D
Gruß
Hubert
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: Betriebssystemfehler

Beitrag von AUGE_OHR »

brandelh hat geschrieben:TEST.NTX, die Datei mit dem zu erstellende Index-Datei.
xpp7F.tmp, wurde im aktuellen Verzeichnis angelegt ...
XPPFATAL.LOG, ALT-C wie gewünscht ;-)

PS: DBU => Xbase++ compilierte Version, die Hilfe irrt ab und zu :D
tja ... dann ist wohl dein PC "verstellt" ;)
wie schon gesagt passiert es nicht auf jedem PC ... ähnlich dem SMB Problem, aber beides ist "vorhanden" und deshalb sollt man auch das TMP Verzeichniss im Virenscanner ausschliessen.
gruss by OHR
Jimmy
Antworten