oDacSession:GetLastError() nicht im ADS_LOG?
Moderator: Moderatoren
oDacSession:GetLastError() nicht im ADS_LOG?
Hallo
ich wollte schauen, ob die in meinem Programm gemeldeten Fehler im ADS Error-Log zu finden sind.
z.B.
oDacSession:GetLastError() meldet Error 5004
aber im ADS_LOG\ADS_ERR.ADT steht das nicht drin.
(Es gibt noch eine DBF ADS_LOG\ADS_ERR.DBF da steht fast garnichts drin.)
Das verstehe ich nicht - Ein Fehler der von Xbase++ DacSession gemeldet wird müsste seinen Ursprung doch auf der ADS-Seite haben und ADS müsste einen Fehlereintrag erzeugen. Oder der 5004 wird wegen "Geringfügigkeit" nicht protokolliert...
oADS:GetLastError() Nr: 5004
oADS:GetMessage: Error 5004: Either ACE could not find the specified file, or you do not have sufficient rights to access the file.
ich wollte schauen, ob die in meinem Programm gemeldeten Fehler im ADS Error-Log zu finden sind.
z.B.
oDacSession:GetLastError() meldet Error 5004
aber im ADS_LOG\ADS_ERR.ADT steht das nicht drin.
(Es gibt noch eine DBF ADS_LOG\ADS_ERR.DBF da steht fast garnichts drin.)
Das verstehe ich nicht - Ein Fehler der von Xbase++ DacSession gemeldet wird müsste seinen Ursprung doch auf der ADS-Seite haben und ADS müsste einen Fehlereintrag erzeugen. Oder der 5004 wird wegen "Geringfügigkeit" nicht protokolliert...
oADS:GetLastError() Nr: 5004
oADS:GetMessage: Error 5004: Either ACE could not find the specified file, or you do not have sufficient rights to access the file.
-
- Der Entwickler von "Deep Thought"
- Beiträge: 2515
- Registriert: Mi, 28. Jul 2010 17:16
- Hat sich bedankt: 12 Mal
- Danksagung erhalten: 77 Mal
Re: oDacSession:GetLastError() nicht im ADS_LOG?
Either the Advantage Client Engine could not find the specified file, or you do not have sufficient rights to access the file. An incorrect path may cause this error. To identify an incorrect path, change the Advantage Database Server security method to "Ignore Rights" in your application. For example, for the TDataSet Descendant, set the AdsTableOptions' AdsRightsCheck property to False. When restarted, the application will generate a 7008 error, which will be logged in the Advantage error log file. Verify that the path in error log's "filename" column is correct.
Valar Morghulis
Gruss Carlo
Gruss Carlo
Re: oDacSession:GetLastError() nicht im ADS_LOG?
Hallo Carlo
das würde ja heißen, dass der Fehler in Xbase++
oADS:GetMessage: Error 5004: Either ACE could not find the specified file, or you do not have sufficient rights to access the file
( 5004 laut ADS = AE_FILE_NOT_FOUND )
dem Eintrag im ADS_LOG
Error_Code: 7008 Advantage server file open failure
entspricht. Sehr seltsam.
RightsCheck habe ich inzwischen ausgeschaltet.
das würde ja heißen, dass der Fehler in Xbase++
oADS:GetMessage: Error 5004: Either ACE could not find the specified file, or you do not have sufficient rights to access the file
( 5004 laut ADS = AE_FILE_NOT_FOUND )
dem Eintrag im ADS_LOG
Error_Code: 7008 Advantage server file open failure
entspricht. Sehr seltsam.
RightsCheck habe ich inzwischen ausgeschaltet.
-
- Der Entwickler von "Deep Thought"
- Beiträge: 2515
- Registriert: Mi, 28. Jul 2010 17:16
- Hat sich bedankt: 12 Mal
- Danksagung erhalten: 77 Mal
Re: oDacSession:GetLastError() nicht im ADS_LOG?
Hallo Roland
im Serverlog beim Fehler 7008 stimmt der da angegebene Pfad? Liegt die Datei wirklich da? Ist noch durch keinen anderen Prozess in Gebrauch? Auch Antivirus/Backup ist ein Prozess.
Ist der Dateiheader evtl. in den unbenutzen Stellen mit Müll gefüllt? (ist bei alten von Clipper erstellten DBF's ab und zu so)
Gruss Carlo
im Serverlog beim Fehler 7008 stimmt der da angegebene Pfad? Liegt die Datei wirklich da? Ist noch durch keinen anderen Prozess in Gebrauch? Auch Antivirus/Backup ist ein Prozess.
Ist der Dateiheader evtl. in den unbenutzen Stellen mit Müll gefüllt? (ist bei alten von Clipper erstellten DBF's ab und zu so)
Gruss Carlo
Valar Morghulis
Gruss Carlo
Gruss Carlo
- nightcrawler
- 1000 working lines a day
- Beiträge: 651
- Registriert: Di, 24. Apr 2012 16:33
- Wohnort: 72184 Weitingen
- Hat sich bedankt: 3 Mal
- Danksagung erhalten: 96 Mal
- Kontaktdaten:
Re: oDacSession:GetLastError() nicht im ADS_LOG?
Fehler der 5000er-Klasse sind Client-seitig. Der Server ist da nicht involviert, kann daher auch nicht loggen.
-
- Der Entwickler von "Deep Thought"
- Beiträge: 2515
- Registriert: Mi, 28. Jul 2010 17:16
- Hat sich bedankt: 12 Mal
- Danksagung erhalten: 77 Mal
Re: oDacSession:GetLastError() nicht im ADS_LOG?
Da musst du aber für den 5004 ergänzen dass dieser Fehler auftritt wenn der Client die Datei nicht sieht. Infolge fehlender Rechte oder falscher Schreibweise des Pfads falschem oder fehlendem Laufwerk Mapping falschem Aufruf usw.
Das Auschalten des "AdsRightsCheck" bewirkt dass der Client die Anfrage obwohl er die Datei nicht sieht an den Server sendet un dieser dann einen Fehler 7008 loggt und auch die Angabe des Names der zum Fehler geführt hat.
Das Auschalten des "AdsRightsCheck" bewirkt dass der Client die Anfrage obwohl er die Datei nicht sieht an den Server sendet un dieser dann einen Fehler 7008 loggt und auch die Angabe des Names der zum Fehler geführt hat.
Valar Morghulis
Gruss Carlo
Gruss Carlo
Re: oDacSession:GetLastError() nicht im ADS_LOG?
Hallo Carlo
Jaramses hat geschrieben:stimmt der da angegebene Pfad?
Jaramses hat geschrieben:Liegt die Datei wirklich da?
doch, meist gleichzeitig mit anderen Arbeitsplätzen. Oft auch durch weitere EXE und Threads auf dem selben PC.ramses hat geschrieben:durch keinen anderen Prozess in Gebrauch?
Re: oDacSession:GetLastError() nicht im ADS_LOG?
Hallo Joachim
Das verstehe ich jetzt nicht - ADS ist do ein Client/Server-System bei dem der Client-Part mit dem Server-Part kommuniziert. Da gehe ich davon aus, dass wenn der Client eine Meldung bringt die da lautetnightcrawler hat geschrieben:Fehler der 5000er-Klasse sind Client-seitig. Der Server ist da nicht involviert, kann daher auch nicht loggen.
gehe ich davon aus, dass der Server-Part den Fehler meldet und damit auch protokollieren kann.oDS:GetMessage: Error 5004: Either ACE could not find the specified file, or you do not have sufficient rights to access the file.
Zuletzt geändert von DelUser01 am Di, 07. Mär 2017 23:35, insgesamt 1-mal geändert.
Re: oDacSession:GetLastError() nicht im ADS_LOG?
Hallo Carlo
AX_RightsCheck(.F.) habe ich heute erst heute eingebaut und in den Live-Betrieb geschickt. Wir werden sehen...
AX_RightsCheck(.F.) habe ich heute erst heute eingebaut und in den Live-Betrieb geschickt. Wir werden sehen...
- nightcrawler
- 1000 working lines a day
- Beiträge: 651
- Registriert: Di, 24. Apr 2012 16:33
- Wohnort: 72184 Weitingen
- Hat sich bedankt: 3 Mal
- Danksagung erhalten: 96 Mal
- Kontaktdaten:
Re: oDacSession:GetLastError() nicht im ADS_LOG?
Roland Gentner hat geschrieben:oDS:GetMessage: Error 5004: Either ACE could not find the specified file, or you do not have sufficient rights to access the file.
ACE = Advantage Client Engine
es kann eben schon in der Client Bibliothek Fehler geben, bevor irgendwas Richtung Server passiert. In diesem Fall überprüft die Client Engine, ob sie (im Kontext des Anwendungsprogramms) Berechtigungen auf die Datei im Dateisystem hat. Falls nicht, braucht sie den Server ja erst gar nicht zu suchen und bemühen.