OrdCreate Fehler 66
Moderator: Moderatoren
- Werner_Bayern
- Der Entwickler von "Deep Thought"
- Beiträge: 2126
- Registriert: Sa, 30. Jan 2010 22:58
- Wohnort: Niederbayern
- Hat sich bedankt: 30 Mal
- Danksagung erhalten: 75 Mal
Re: OrdCreate Fehler 66
Servus Jimmy,
nein, es sind keine anderen Applikationen auf dem NAS oder Daten, auf die zugegriffen wird.
Die Erfahrungen durch Tests, die wir in diesem Zusammenhang gemacht haben, sind etwas anders, als Du geschrieben hast. Es reicht, wenn eine XP-Station eine Datei auf dem 2008er geöffnet hat und ein index on durchführt. Dann hat es schon bei ca. 8 von 10 Versuchen geknallt. Anfangs glaubten wir zu erkennen, dass es auch einen Unterschied macht, ob die Test-Index-Datei schon existiert und durch den index-Befehl überschrieben wird, das war jedoch nicht 100%ig nachzuvollziehen.
Aber die Probleme treten schon verstärkt beim Erzeugen von Dateien (copy to, index on) und anschließendem, sofortigem Zugriff darauf auf.
nein, es sind keine anderen Applikationen auf dem NAS oder Daten, auf die zugegriffen wird.
Die Erfahrungen durch Tests, die wir in diesem Zusammenhang gemacht haben, sind etwas anders, als Du geschrieben hast. Es reicht, wenn eine XP-Station eine Datei auf dem 2008er geöffnet hat und ein index on durchführt. Dann hat es schon bei ca. 8 von 10 Versuchen geknallt. Anfangs glaubten wir zu erkennen, dass es auch einen Unterschied macht, ob die Test-Index-Datei schon existiert und durch den index-Befehl überschrieben wird, das war jedoch nicht 100%ig nachzuvollziehen.
Aber die Probleme treten schon verstärkt beim Erzeugen von Dateien (copy to, index on) und anschließendem, sofortigem Zugriff darauf auf.
es grüßt
Werner
<when the music is over, turn off the lights!>
Werner
<when the music is over, turn off the lights!>
- Werner_Bayern
- Der Entwickler von "Deep Thought"
- Beiträge: 2126
- Registriert: Sa, 30. Jan 2010 22:58
- Wohnort: Niederbayern
- Hat sich bedankt: 30 Mal
- Danksagung erhalten: 75 Mal
Re: OrdCreate Fehler 66
Servus Jimmy,
wir hatten vorher folgende Konstellation bei dem Kunden:
Applikation auf X:\win-ww
Daten auf X:\ww (wg. alter DOS-Version)
Start am XP-Client (und auch bei allen anderen) über eine Verknüpfung: x:\win-ww\ww.exe
und die Applikation öffnet dann alle Dateien per UNC auf \\server\freigabename\ww (nicht win-ww).
Die Pfade in einer früheren Mail waren nur ein Beispiel, hier war es konkret so.
Dann hätte Dein beschriebenes SMB-Problem nicht auftreten dürfen?
wir hatten vorher folgende Konstellation bei dem Kunden:
Applikation auf X:\win-ww
Daten auf X:\ww (wg. alter DOS-Version)
Start am XP-Client (und auch bei allen anderen) über eine Verknüpfung: x:\win-ww\ww.exe
und die Applikation öffnet dann alle Dateien per UNC auf \\server\freigabename\ww (nicht win-ww).
Die Pfade in einer früheren Mail waren nur ein Beispiel, hier war es konkret so.
Dann hätte Dein beschriebenes SMB-Problem nicht auftreten dürfen?
es grüßt
Werner
<when the music is over, turn off the lights!>
Werner
<when the music is over, turn off the lights!>
-
- Der Entwickler von "Deep Thought"
- Beiträge: 2827
- Registriert: Fr, 08. Feb 2008 21:29
- Hat sich bedankt: 96 Mal
- Danksagung erhalten: 13 Mal
Re: OrdCreate Fehler 66
Hallo, Werner -
hast Du in dem Fall mal versucht, ein Sleep(100) (plus minus n) nach dem copy to/index to etc. einzusetzen?
hast Du in dem Fall mal versucht, ein Sleep(100) (plus minus n) nach dem copy to/index to etc. einzusetzen?
Liebe Grüsse aus der Eifel,
Georg S. Lorrig
Redakteur der Wiki des Deutschprachigen Xbase-Entwickler e.V.
Georg S. Lorrig
Redakteur der Wiki des Deutschprachigen Xbase-Entwickler e.V.
- Werner_Bayern
- Der Entwickler von "Deep Thought"
- Beiträge: 2126
- Registriert: Sa, 30. Jan 2010 22:58
- Wohnort: Niederbayern
- Hat sich bedankt: 30 Mal
- Danksagung erhalten: 75 Mal
Re: OrdCreate Fehler 66
Servus Georg,georg hat geschrieben:hast Du in dem Fall mal versucht, ein Sleep(100) (plus minus n) nach dem copy to/index to etc. einzusetzen?
nein, weil es ja auch beim ordcreate schon knallt und ich da keine Möglichkeit gehabt hätte.
es grüßt
Werner
<when the music is over, turn off the lights!>
Werner
<when the music is over, turn off the lights!>
-
- Der Entwickler von "Deep Thought"
- Beiträge: 2827
- Registriert: Fr, 08. Feb 2008 21:29
- Hat sich bedankt: 96 Mal
- Danksagung erhalten: 13 Mal
Re: OrdCreate Fehler 66
Hallo, Werner -
dann habe ich Dich hier missverstanden:
dann habe ich Dich hier missverstanden:
Das "anschliessendem" brachte mich auf den Gedanken, mal eine (erzwungene) Pause einzulegen.Aber die Probleme treten schon verstärkt beim Erzeugen von Dateien (copy to, index on) und anschließendem, sofortigem Zugriff darauf auf.
Liebe Grüsse aus der Eifel,
Georg S. Lorrig
Redakteur der Wiki des Deutschprachigen Xbase-Entwickler e.V.
Georg S. Lorrig
Redakteur der Wiki des Deutschprachigen Xbase-Entwickler e.V.
- Werner_Bayern
- Der Entwickler von "Deep Thought"
- Beiträge: 2126
- Registriert: Sa, 30. Jan 2010 22:58
- Wohnort: Niederbayern
- Hat sich bedankt: 30 Mal
- Danksagung erhalten: 75 Mal
Re: OrdCreate Fehler 66
Verständlich, aber bei Ordcreate ist es ja auch so, ohne dass ich da eingreifen könnte. Index-Datei wird erzeugt und dann mit Daten gefüllt. Auch bei copy to ist es ja so. Es knallt ja schon bei den internen Funktionen von Xbase++, da wird die nächste Befehlszeile von mir ja noch gar nicht ausgeführt.
es grüßt
Werner
<when the music is over, turn off the lights!>
Werner
<when the music is over, turn off the lights!>
- Koverhage
- 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: OrdCreate Fehler 66
Aus meiner Erfahrung kann ich nur folgendes sagen:
1. OrdCreate scheitert, wenn die DBF datei defekt ist, oder die Index-Datei Schrott ist (diesen Fall hatte ich vor kurzem)
2. in 99,99% der Virenscanner
Wenn der Virenscanner ausgeschlossen werden kann (normal nur wenn der komplett zum Test deaktiviert wird)
würde ich mal Fall 1 prüfen.
1. OrdCreate scheitert, wenn die DBF datei defekt ist, oder die Index-Datei Schrott ist (diesen Fall hatte ich vor kurzem)
2. in 99,99% der Virenscanner
Wenn der Virenscanner ausgeschlossen werden kann (normal nur wenn der komplett zum Test deaktiviert wird)
würde ich mal Fall 1 prüfen.
Gruß
Klaus
Klaus
- brandelh
- Foren-Moderator
- Beiträge: 15697
- Registriert: Mo, 23. Jan 2006 20:54
- Wohnort: Germersheim
- Hat sich bedankt: 66 Mal
- Danksagung erhalten: 33 Mal
- Kontaktdaten:
Re: OrdCreate Fehler 66
Windows 7 (Server 2008) ohne die 3 Cache Schalter sind auch tötlich für die Indexe, wie ich hier immer wieder feststellen muss.
Gruß
Hubert
Hubert
- Werner_Bayern
- Der Entwickler von "Deep Thought"
- Beiträge: 2126
- Registriert: Sa, 30. Jan 2010 22:58
- Wohnort: Niederbayern
- Hat sich bedankt: 30 Mal
- Danksagung erhalten: 75 Mal
Re: OrdCreate Fehler 66
Servus Klaus,
1:1 auf das NAS gelegt, aktuell keine Probleme mehr. Die DBF ist in Ordnung, war ja nur das Problem von XP-Stationen aus.
1:1 auf das NAS gelegt, aktuell keine Probleme mehr. Die DBF ist in Ordnung, war ja nur das Problem von XP-Stationen aus.
es grüßt
Werner
<when the music is over, turn off the lights!>
Werner
<when the music is over, turn off the lights!>
- AUGE_OHR
- Marvin
- Beiträge: 12909
- Registriert: Do, 16. Mär 2006 7:55
- Wohnort: Hamburg
- Hat sich bedankt: 19 Mal
- Danksagung erhalten: 46 Mal
Re: OrdCreate Fehler 66
hi,
diese "Variante" funktioniert IMHO nur dann wenn der Client Desktop "auf dem Server" liegt und das geht erst ab Win7.
alle %USER% Verzeichnisse werden dann auf das \\Server\%USER% umgeleitet.
Frage : schon mal versucht die Xbase++ Applikation "vom Client" laufen zu lassen ?
wenn du aber von "Index" redest wird der doch im TMP erzeugt und der ist gewöhnlich auf dem Client
in einem SMB2 Netzwerk muss der Server "wissen" was los ist weil jede "Aktion" eine eigene Authentifizierung erhält. das funktioniert aber nur mit "freigegebene" UNC Path Ordner. (oder dem Explorer)
wenn ein Client sich eine DBF nimmt und nun ein Index, welcher zunächst temporär erzeugt wird, erstellt und "sofort" damit "arbeiten" will dann knallt es genau so wie bei ZAP.
Frage : wir reden doch hier vom Xbase Befehl "copy to" ... ist da noch eine "Bedingung" dran oder willst du "nur" eine "Datei kopieren" ?
ich sprach ja den Explorer an der ja die ShFile API Functionen für "copy" benutzt. wenn man die API Function unter XP verwendet dann weiss auch der W2k8 Server "Bescheid"
bei ZAP soll man die DBF ja schliessen / wieder öffnen. Bei Index würde ich es so versuchen
ok, scheint als das du nicht das klassische "Ops-lock" Problem meinst.Werner_Bayern hat geschrieben:Die Erfahrungen durch Tests, die wir in diesem Zusammenhang gemacht haben, sind etwas anders, als Du geschrieben hast.
du redest also jetzt von "ein und der selben" Workstation ?!Werner_Bayern hat geschrieben:Es reicht, wenn eine XP-Station eine Datei auf dem 2008er geöffnet hat und ein index on durchführt.
hm ... alles "auf" dem Server ?Werner_Bayern hat geschrieben:Aber die Probleme treten schon verstärkt beim Erzeugen von Dateien (copy to, index on) und anschließendem, sofortigem Zugriff darauf auf.
du startest also die Xbase++ Application "vom W2k8 Server" (?) über ein ge-"map"-tes Laufwerk ...Werner_Bayern hat geschrieben:Start am XP-Client (und auch bei allen anderen) über eine Verknüpfung: x:\win-ww\ww.exe
und die Applikation öffnet dann alle Dateien per UNC auf \\server\freigabename\ww (nicht win-ww).
diese "Variante" funktioniert IMHO nur dann wenn der Client Desktop "auf dem Server" liegt und das geht erst ab Win7.
alle %USER% Verzeichnisse werden dann auf das \\Server\%USER% umgeleitet.
Frage : schon mal versucht die Xbase++ Applikation "vom Client" laufen zu lassen ?
wenn du aber von "Index" redest wird der doch im TMP erzeugt und der ist gewöhnlich auf dem Client
Frage : hast du die "lokal" genutzten Verzeichnisse freigegeben ?TMP=<Verzeichnis>
Im TMP Verzeichnis werden temporäre Dateien angelegt, z.B. wenn INDEX ON oder DbSort() ausgeführt wird.
und hat mit der vorherigen Frage zu tun.Hubert hat geschrieben:Windows 7 (Server 2008) ohne die 3 Cache Schalter sind auch tötlich für die Indexe, wie ich hier immer wieder feststellen muss.
in einem SMB2 Netzwerk muss der Server "wissen" was los ist weil jede "Aktion" eine eigene Authentifizierung erhält. das funktioniert aber nur mit "freigegebene" UNC Path Ordner. (oder dem Explorer)
wenn ein Client sich eine DBF nimmt und nun ein Index, welcher zunächst temporär erzeugt wird, erstellt und "sofort" damit "arbeiten" will dann knallt es genau so wie bei ZAP.
sind Quelle und Ziel beide UNC Path ? beides auf dem Server ?Werner_Bayern hat geschrieben:Auch bei copy to ist es ja so.
Frage : wir reden doch hier vom Xbase Befehl "copy to" ... ist da noch eine "Bedingung" dran oder willst du "nur" eine "Datei kopieren" ?
ich sprach ja den Explorer an der ja die ShFile API Functionen für "copy" benutzt. wenn man die API Function unter XP verwendet dann weiss auch der W2k8 Server "Bescheid"
könnte man versuchen ... aber wenn keine "Informationen" eintreffen kann man ewig warten.georg hat geschrieben:Sleep(100) (plus minus n)
bei ZAP soll man die DBF ja schliessen / wieder öffnen. Bei Index würde ich es so versuchen
Code: Alles auswählen
dbUseArea( .F., , "KUNDEN", , iif(.F. .or. .T., !.T., NIL), .F.)
dbCreateIndex( _name, _key, _EarlyBoundCodeblock({|| &_key}), iif(.F., .T., NIL) )
dbClearIndex()
KUNDEN->( dbCloseArea() )
dbUseArea( .F., , "KUNDEN", , iif(.T. .or. .F., !.F., NIL), .F.)
ordListClear() ;ordListAdd( _name )
XP arbeitet eben nur mit SMB1 ... kein SMB2 ... keine SMB2 ProblemeWerner_Bayern hat geschrieben:1:1 auf das NAS gelegt, aktuell keine Probleme mehr. Die DBF ist in Ordnung, war ja nur das Problem von XP-Stationen aus.
gruss by OHR
Jimmy
Jimmy
- Werner_Bayern
- Der Entwickler von "Deep Thought"
- Beiträge: 2126
- Registriert: Sa, 30. Jan 2010 22:58
- Wohnort: Niederbayern
- Hat sich bedankt: 30 Mal
- Danksagung erhalten: 75 Mal
Re: OrdCreate Fehler 66
Servus Jimmy,
ich antworte mal der Reihe nach
Der Kunde hat noch 2-4 XP-Clients, auf 2 haben wir getestet und die nachvollziehbaren Probleme.
Ja, wie bereits geschrieben, starten wir über ein gemapptes Laufwerk, alles lag auf dem Server. Programmverzeichnis und Datenverzeichnis.
Der Client-Desktop liegt nicht auf dem Server (Roaming Profile? Das geht seit Windows XP, oder meinst Du TS?). Nein, wg. Update-Problematik und Wartung haben wir bisher die App noch nicht lokal gehalten. Wie gesagt, wir nutzen hier keinen Terminalserver oder Remote-Desktop, sondern einfaches mapping.
Nein, es sind auf den XP-Clients keine lokalen Verzeichnisse freigegeben. TMP-Dateien erzeugt nach meinen Beobachtungen bei diesem Kunden Xbase++ direkt im Programmverzeichnis.
Unser Test sah so aus:
Die Datei war nicht besonders groß. Es knallte dann schon beim OrdCreate (index on).
ich antworte mal der Reihe nach
Der Kunde hat noch 2-4 XP-Clients, auf 2 haben wir getestet und die nachvollziehbaren Probleme.
Ja, wie bereits geschrieben, starten wir über ein gemapptes Laufwerk, alles lag auf dem Server. Programmverzeichnis und Datenverzeichnis.
Der Client-Desktop liegt nicht auf dem Server (Roaming Profile? Das geht seit Windows XP, oder meinst Du TS?). Nein, wg. Update-Problematik und Wartung haben wir bisher die App noch nicht lokal gehalten. Wie gesagt, wir nutzen hier keinen Terminalserver oder Remote-Desktop, sondern einfaches mapping.
Nein, es sind auf den XP-Clients keine lokalen Verzeichnisse freigegeben. TMP-Dateien erzeugt nach meinen Beobachtungen bei diesem Kunden Xbase++ direkt im Programmverzeichnis.
Unser Test sah so aus:
Code: Alles auswählen
use (cDatei) exclusiv
if neterr()
@ 8, 2 say "Fehler, Datei kann nicht geöffnet werden!"
else
@ 7, 2 say "Erfolgreich geöffnet, Datensätze: " + ltrim(str(lastrec()))
index on bestellnr to test.ntx
@ 8, 2 say "Erfolgreich!"
use
endif
Ja, beide UNC. Nein, keine Bedingung. Ja, Xbase++ - Befehl.copy to: sind Quelle und Ziel beide UNC Path ? beides auf dem Server ?
es grüßt
Werner
<when the music is over, turn off the lights!>
Werner
<when the music is over, turn off the lights!>
- Werner_Bayern
- Der Entwickler von "Deep Thought"
- Beiträge: 2126
- Registriert: Sa, 30. Jan 2010 22:58
- Wohnort: Niederbayern
- Hat sich bedankt: 30 Mal
- Danksagung erhalten: 75 Mal
Re: OrdCreate Fehler 66
Servus Jimmy,
hab ich das jetzt richtig so von Dir verstanden, zusammengefasst wäre die Lösung gewesen, die Applikation nicht über das gemappte Laufwerk, sondern über den UNC-Pfad zu starten?
hab ich das jetzt richtig so von Dir verstanden, zusammengefasst wäre die Lösung gewesen, die Applikation nicht über das gemappte Laufwerk, sondern über den UNC-Pfad zu starten?
es grüßt
Werner
<when the music is over, turn off the lights!>
Werner
<when the music is over, turn off the lights!>
- brandelh
- Foren-Moderator
- Beiträge: 15697
- Registriert: Mo, 23. Jan 2006 20:54
- Wohnort: Germersheim
- Hat sich bedankt: 66 Mal
- Danksagung erhalten: 33 Mal
- Kontaktdaten:
Re: OrdCreate Fehler 66
Wenn man die EXE direkt über UNC startet, kann man aber meines Wissens keine Batchdateien mehr ausführen.
Ob RunShell() grundsätzlich nicht geht weiß ich jetzt aber nicht.
Ob RunShell() grundsätzlich nicht geht weiß ich jetzt aber nicht.
Gruß
Hubert
Hubert
- AUGE_OHR
- Marvin
- Beiträge: 12909
- Registriert: Do, 16. Mär 2006 7:55
- Wohnort: Hamburg
- Hat sich bedankt: 19 Mal
- Danksagung erhalten: 46 Mal
Re: OrdCreate Fehler 66
man sollte IMHO "überall" UNC-PATH verwenden wobei ich "eine" NET_USE Function einsetzte.Werner_Bayern hat geschrieben:hab ich das jetzt richtig so von Dir verstanden, zusammengefasst wäre die Lösung gewesen, die Applikation nicht über das gemappte Laufwerk, sondern über den UNC-Pfad zu starten?
gruss by OHR
Jimmy
Jimmy
- Werner_Bayern
- Der Entwickler von "Deep Thought"
- Beiträge: 2126
- Registriert: Sa, 30. Jan 2010 22:58
- Wohnort: Niederbayern
- Hat sich bedankt: 30 Mal
- Danksagung erhalten: 75 Mal
Re: OrdCreate Fehler 66
ich setze auch eine net_use-Funktion ein und da wird der UNC-Pfad mit übergeben. Trotzdem hat es nicht funktioniert.
Aber nochmal meine Frage, wäre das Problem evtl. erledigt, wenn die APP auch über UNC und nicht über ein gemapptes Laufwerk gestartet worden wäre?
Aber nochmal meine Frage, wäre das Problem evtl. erledigt, wenn die APP auch über UNC und nicht über ein gemapptes Laufwerk gestartet worden wäre?
es grüßt
Werner
<when the music is over, turn off the lights!>
Werner
<when the music is over, turn off the lights!>