Nach Hardware-Wechsel Fehler bei DBUseArea

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

Moderator: Moderatoren

Antworten
Benutzeravatar
Mirco
Rekursionen-Architekt
Rekursionen-Architekt
Beiträge: 143
Registriert: Di, 03. Feb 2009 15:47
Wohnort: Viersen
Kontaktdaten:

Nach Hardware-Wechsel Fehler bei DBUseArea

Beitrag von Mirco »

Hallo zusammen,

das ist nicht mein Monat :D. Schon wieder ein Fehler bei einem Kunden, den ich nicht verstehe...Der Techniker hat dort die Hardware (neue Rechner mit Win 7 32 / 64 bit) gewechselt (und wir ein Programmupdate gemacht) und nun bekommen wir beim Archivieren unserer Rechungen folgende Fehlermeldung:

Code: Alles auswählen

------------------------------------------------------------------------------
FEHLERPROTOKOLL von "F:\PCD32\DOGASPC.EXE" Datum: 15.03.13 16:14:31

Xbase++ Version     : Xbase++ (R) Version 1.90.331
Betriebssystem      : Windows  06.01 Build 07601 Service Pack 1
------------------------------------------------------------------------------
oError:args         :
          -> VALTYPE: L VALUE: .T.
          -> VALTYPE: U VALUE: NIL
          -> VALTYPE: C VALUE: REARCHIV\2013\ARCHIV.DBF
          -> VALTYPE: C VALUE: TMP
          -> VALTYPE: U VALUE: NIL
          -> VALTYPE: L VALUE: .F.
oError:canDefault   : J
oError:canRetry     : J
oError:canSubstitute: N
oError:cargo        : NIL
oError:description  : 
oError:filename     : 
oError:genCode      :        903
oError:operation    : DbUseArea
oError:osCode       :          0
oError:severity     :          2
oError:subCode      :       8999
oError:subSystem    : BASE
oError:thread       :          1
oError:tries        :          1
------------------------------------------------------------------------------
CALLSTACK:
------------------------------------------------------------------------------
Aufgerufen von ARCHIVUPD(1183)
Aufgerufen von COPYTODRUCKER(1208)
Aufgerufen von DRMATLAAUSGABE(1361)
Aufgerufen von AUFLIEFDR(1691)
Aufgerufen von AUFENDE(11629)
Aufgerufen von AUFERF(2100)
Aufgerufen von AUFTRMENU(870)
Aufgerufen von AUFTRAG(619)
Aufgerufen von MAIN(578)
Zeile 1183 macht folgendes:

Code: Alles auswählen

 use &cArchiv1 ALIAS TMP new
Kurz vorher sollte cArchiv folgendermaßen angelegt worden sein:

Code: Alles auswählen

cArchiv1 := "REARCHIV\" + cJahr + "\ARCHIV.DBF"
select ARCHIV
   copy structure to (cArchiv1)
Und das funktioniert anscheinend nicht, denn die Datei wird nicht angelegt... Rechte sollten eigentlich für den User alle vorhanden sein, der Techniker vor Ort deinstalliert heute auf einem PC mal Kaspersky, um zu schauen, ob der seine Finger im Spiel hat...Aber vielleicht hat von euch ja noch jemand eine Idee?

LG
Mirco
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: Nach Hardware-Wechsel Fehler bei DBUseArea

Beitrag von Tom »

Das ist kein gültiger Dateiname:

Code: Alles auswählen

cArchiv1 := "REARCHIV\" + cJahr + "\ARCHIV.DBF"
Es ergibt nämlich RECHARCHIV\2013\ARCHIV.DBF

Da fehlen der führende Backslash und ggf. der Laufwerksbezeichner.
Herzlich,
Tom
georg
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 2825
Registriert: Fr, 08. Feb 2008 21:29
Hat sich bedankt: 96 Mal
Danksagung erhalten: 13 Mal

Re: Nach Hardware-Wechsel Fehler bei DBUseArea

Beitrag von georg »

Hallo, Mirco -


mir fallen zwei Dinge auf:

a) Du verwendest einen relativen Pfad. Wenn der Pfad nicht mehr stimmt, stimmt natürlich auch der relative Pfad nicht mehr
b) ich würde USE (cArchiv1) ... verwenden

Aber ich gehe davon aus, dass der Rechner auch vorher unter Windows 7 lief? Dass der angemeldete Benutzer Zugriffsrechte für das Verzeichnis hat? dass Du mittels FExists() geprüft hast, dass die Datei da ist?
Liebe Grüsse aus der Eifel,

Georg S. Lorrig
Redakteur der Wiki des Deutschprachigen Xbase-Entwickler e.V.
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: Nach Hardware-Wechsel Fehler bei DBUseArea

Beitrag von brandelh »

welches Betriebssystem war denn vorher drauf und werden Netzwerklaufwerke genutzt ?
Gruß
Hubert
Benutzeravatar
Mirco
Rekursionen-Architekt
Rekursionen-Architekt
Beiträge: 143
Registriert: Di, 03. Feb 2009 15:47
Wohnort: Viersen
Kontaktdaten:

Re: Nach Hardware-Wechsel Fehler bei DBUseArea

Beitrag von Mirco »

Also, vorher war glaube ich XP drauf, allerdings nutzen auch andere Kunden Win 7 (ich eingeschlossen) und alles funktioniert.

Zugriffrechte müssten laut Techniker eigentlich vorhanden sein. Mit FExists wird nicht geprüft (ICH hätte es gemacht, ist allerdings noch alter Code von meinem Vorgänger...). Mich wundert einfach nur, warum es bei unzähligen Kunden funktioniert und hier Fehler wirft...

Ändere immer ungern in den alten Programmen was...

//Edit: Ja, es werden Netzlaufwerke genutzt.
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: Nach Hardware-Wechsel Fehler bei DBUseArea

Beitrag von brandelh »

Von XP nach Vista/Win7 bemerkten viele, dass Schreiben im Verzeichnisbaum von c:\programme\... nicht mehr erlaubt ist.
Wenn Netzwerksachen im Spiel sind, braucht man bei Win7 noch die 3 Einstellungen zum Cache-Verhalten ...
Gruß
Hubert
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: Nach Hardware-Wechsel Fehler bei DBUseArea

Beitrag von AUGE_OHR »

Mirco hat geschrieben:Ändere immer ungern in den alten Programmen was...
aber "erweitern" sollte man deine Errorsys ...
use &cArchiv1 ALIAS TMP new
also solche "USE" die in der Gegend rum-stehen sollte man IMHO gegen eine Function NET_USE() "erweitern".
in der Function NET_USE würde ich dann mit BEGIN / SEQUENCE einen möglichen Fehler "abfangen" und ggf. Massnahmen einleiten.

bei einem neuen PC und OS() würde ich mal unter den Energie Einstellungen nachschauen was sich da alles so "abschaltet" nach einiger Zeit ...
gruss by OHR
Jimmy
Benutzeravatar
Mirco
Rekursionen-Architekt
Rekursionen-Architekt
Beiträge: 143
Registriert: Di, 03. Feb 2009 15:47
Wohnort: Viersen
Kontaktdaten:

Re: Nach Hardware-Wechsel Fehler bei DBUseArea

Beitrag von Mirco »

Danke für eure Hilfe.

Sicherlich sollte man das eine oder andere im Ablauf ändern, möchte ich auch oft, allerdings ist die Zeit meistens nicht da.

Ich werde nun die entsprechenden Stellen etwas umschreiben, da der Kunde langsam eine Lösung verlangt. Ich weiß zwar nicht genau, was ich da machen kann, aber vielleicht hilft es ja. Wenn ihr noch Tipps für (kleinere) Änderungen habt, nur her damit :). Ich wundere mich eben nur über den Fehler, da es ja bei alles anderen Kunden (auch Windows 7) funktioniert.

LG
Mirco
Antworten