ADS Fehlermeldung 5381

Hier können die Unterschiede, Fehler und Probleme zwischen den Versionen bzw. bei der Migration besprochen werden

Moderator: Moderatoren

DelUser01

Re: ADS Fehlermeldung 5381

Beitrag von DelUser01 »

Kamaalan hat geschrieben: So, 12. Nov 2017 23:22 Für das Beispiel:
Ohne ADS!
Ohne ADS.INI!
Dadurch auch ohne ADS_ERR.DBF.
OK - also zum Testen ob ein ADS da ist, aber dann ist doch egal welcher Fehler kommt, der Connect hat nicht funktioniert.

Kamaalan hat geschrieben: So, 12. Nov 2017 23:22 Meine Umgebung ist für die ganze Sache eigentlich unwichtig. (lokal W10pro/Server Win7 ,mit ADS9)
Das ist Deine Meinung...

Code: Alles auswählen

ADS.INI 
[SETTINGS]
ADS_SERVER_TYPE=7   (-> OK)
MTIER_LOCAL_CONNECTIONS=1   (-> ???)
PACKET_SIZE=512   (-> warum? einfach Parameter nicht verwenden (Zeile löschen))
USE_TCP_IP=1   (-> unklar)
RETRY_ADS_CONNECTS = 1   (-> OK)
[172.16.1.195]   (-> hier müsste der Host-Name des Servers mit ADS stehen, z.B. ADSSERVER)
LAN_IP=172.16.1.178   (-> dann würde das hier auch Sinn machen, sonst nicht - zwei IPs!?!?!)
LAN_PORT=2000   (-> wenn frei dann OK)
Kamaalan hat geschrieben: So, 12. Nov 2017 23:22Wir möchten eigentlich nur wieder anhand der Fehlermeldungen feststellen, was einen Fehler auslöst ohne raten zu müssen. Ansonsten laufen die Anlagen mit ADS und xbase 2.0 ohne Probleme.
Das hast Du doch inzwischen herausgefunden -. wenn der Fehler 5381 an dieser Stelle kommt (oder irgend ein anderer) dann ist kein ADS da oder zumindest hat der Connect nicht funktioniert.

Was versuchst Du noch herauszufinden...?
DelUser01

Re: ADS Fehlermeldung 5381

Beitrag von DelUser01 »

Meine INI in meinem Netz:

Code: Alles auswählen

[Settings]
ADS_SERVER_TYPE=7
DEFAULT_PROTOCOL=0
MAX_CONNECTIONS=100
RETRY_ADS_CONNECTS=1
RECORD_CACHE_SIZE=10485760
COMPRESSION=Never
MAX_TIMEOUTS=40
USE_TCP_IP
[DRIVES]
J:=\\172.29.59.5\VERWALTUNG
K:=\\172.29.59.5\ADRESSEN
usw... (gekürzt)
[GSSRV3]
LAN_IP=172.29.59.5
LAN_PORT=9889
Kamaalan
Cut&Paste-Entwickler
Cut&Paste-Entwickler
Beiträge: 31
Registriert: Do, 08. Jun 2006 15:04

Re: ADS Fehlermeldung 5381

Beitrag von Kamaalan »

Hallo Carlo,
Du hast mit xbase 2.0 korrekte Fehlernummern via :getLastError() ?? Kannst Du mal bitte mein Beispiel testen, also einen Fehler provozieren!
Was kommt für ein Fehler?
Danke.

Ansonsten noch mal deutlich, wenn ich den ADS in meinem Beispiel starte, dann läuft es ohne Probleme!!! Es geht uns darum die richtigen Fehlermeldungen zu bekommen. (Unsere Hotline muss immer das Rätseln anfangen, wenn ein Kunde einen 5381 Fehler meldet)
Gruß Matthias
DelUser01

Re: ADS Fehlermeldung 5381

Beitrag von DelUser01 »

Matthias,

mach Doch einen Code für einen Fehler der von ADS kommen müsste.
Aus dem laufenden System und nicht am Anfang ganz ohne ADS.
Vielleicht bekomme ich im Normalfall keine Fehler vom ADS - es läuft alles sauber.
Kamaalan
Cut&Paste-Entwickler
Cut&Paste-Entwickler
Beiträge: 31
Registriert: Do, 08. Jun 2006 15:04

Re: ADS Fehlermeldung 5381

Beitrag von Kamaalan »

Ich verstehe nicht so ganz, was Du meinst. Wir haben sehr viele Anwender, die mit unseren Programmen arbeiten. Viele davon mit ADS. Da passieren Fehler. Mal ist der ADS down, mal ist eine Firewall da, die blockiert, mal passt eine ADS.ini nicht mehr. Mal ist eine Tabelle defekt usw.
Unter 1.9 hat der ADS eine aussagekräftige Fehlernummer geliefert. Unter 2.0 kommt nur noch 5381. (Mein Beispiel war nur die einfachste Version einen Fehler zu provozieren).
Was soll ich jetzt für einen Code in die Fehlerbehandlung einfügen?
Gruß Matthias
DelUser01

Re: ADS Fehlermeldung 5381

Beitrag von DelUser01 »

ich geb's auf...
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: ADS Fehlermeldung 5381

Beitrag von AUGE_OHR »

hi,
Kamaalan hat geschrieben: So, 12. Nov 2017 19:55Der Fehler ist inzwischen bei Alaska als PDR aufgenommen.
Aber hast Du das Beispiel mal kurz getestet?
wenn Alaska die PDR 6959 angelegt hat ist der Fall doch klar das es "so" mit der v2.x nicht geht.
jetzt kannst du nur noch warten bis Alaska reagiert und das nächste Update raus bringt.

p.s. schon mal mit UNC-Path statt Laufwerksbuchstaben versucht ?
gruss by OHR
Jimmy
ramses
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 2513
Registriert: Mi, 28. Jul 2010 17:16
Hat sich bedankt: 12 Mal
Danksagung erhalten: 77 Mal

Re: ADS Fehlermeldung 5381

Beitrag von ramses »

Matthias,

Dein Beispiel, ein Connect auf ein Laufwerk auf welchem KEIN ADS läuft ergibt auch bei mir die Fehlernummer 5381 wie du diese beschreibst.

Du kannst versuchen mit DLL Aufrufen der ACE32.DLL an die korrekte Fehlernummer zu kommen oder auf Alaska warten oder auch mal grundsätzlich über einen Umstieg auf PostgreSQL nachzudenken. Die Sorgen um ADS werden sich häufen ...


Gruss Carlo
Valar Morghulis

Gruss Carlo
Benutzeravatar
nightcrawler
1000 working lines a day
1000 working lines a day
Beiträge: 650
Registriert: Di, 24. Apr 2012 16:33
Wohnort: 72184 Weitingen
Hat sich bedankt: 3 Mal
Danksagung erhalten: 96 Mal
Kontaktdaten:

Re: ADS Fehlermeldung 5381

Beitrag von nightcrawler »

Warum der "ADS-Experte" noch nicht geantwortet hat, liegt nicht am falschen Forum;)
Ich kenne diese Fehlermeldung nicht. 5xxx sind immer Client-seitige Fehler. Ich habe jetzt mal in den ADS-Delphi-Quellen gesucht, ob es dort diesen Fehler evtl undokumentiert gibt. Aber auch das ist nicht der Fall. Von ADS dokumentiert sind Fehler im Bereich 50xx, 51xx, 52xx und 54xx. Zu 53xx gibt es nichts.
--
Joachim
Joachim Dürr Softwareengineering
https://www.jd-engineering.de
ramses
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 2513
Registriert: Mi, 28. Jul 2010 17:16
Hat sich bedankt: 12 Mal
Danksagung erhalten: 77 Mal

Re: ADS Fehlermeldung 5381

Beitrag von ramses »

Hallo

jetzt hat es auch mich erwischt mit dem Fehler 5381.
Nach einem Programmupdate, Programm neu mit 2.0.875 erstellt tritt der Fehler in einem bestimmten Netzwerk nun auch sproadisch bei dbskip(), dbclosearea(), lastrec() und dbunlock() auf.

Dazu auch noch: (Nicht gleichzeitig)
======================================================================
FATAL ERROR LOG
Not recoverable Error!
SYS Thread-ID: 1220
Module: EH
Error Codes: EH: 900 Sub: 0(0) OS: 0 XPP: 0
Call Stack of Thread 1 (1220):
Call Stack of GUI Thread (1384):
File: C:\Program Files (x86)\kis32\kis000.exe
TimeStamp: 20180105 09:21
End of FATAL ERROR LOG.



Gruss Carlo
Valar Morghulis

Gruss Carlo
Kamaalan
Cut&Paste-Entwickler
Cut&Paste-Entwickler
Beiträge: 31
Registriert: Do, 08. Jun 2006 15:04

Re: ADS Fehlermeldung 5381

Beitrag von Kamaalan »

Hallo,
mit

Code: Alles auswählen

Function ADSLastErrorString
	Local cError := "0000 No Error"
	Local cTemp1 := Space(100)
	Local cTemp2 := 100
	Local f

	DLLCall("ACE32.DLL",DLL_STDCALL,"AdsGetLastError",@cTemp1)
	f = bin2i(cTemp1)
	if f != 0
		cTemp1 := Space(100)
		DLLCall("ACE32.DLL",DLL_STDCALL,"AdsGetErrorString",f,@cTemp1,@cTemp2)
		cError := Strzero(f,4,0)+" "+Alltrim(ctemp1)
	Endif
Return cError
bekommst Du den richtigen Fehlercode/text.
Gruß Matthias
ramses
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 2513
Registriert: Mi, 28. Jul 2010 17:16
Hat sich bedankt: 12 Mal
Danksagung erhalten: 77 Mal

Re: ADS Fehlermeldung 5381

Beitrag von ramses »

Hallo Matthias

Danke für den Tip.
Ich habe "AdsGetLastError" bereits im Errorhandler drin. Die Rückgabe ist aber jeweils 0.

Gruss Carlo
Valar Morghulis

Gruss Carlo
Kamaalan
Cut&Paste-Entwickler
Cut&Paste-Entwickler
Beiträge: 31
Registriert: Do, 08. Jun 2006 15:04

Re: ADS Fehlermeldung 5381

Beitrag von Kamaalan »

Hallo,
das ist merkwürdig. Wenn bei uns ein 5381 via o:GetLastError() kommt, liefert "AdsGetLastError" die immer korrekte Nummer.
Hast Du den Text der XPPFATAL.LOG gekürzt? Es fällt auf, dass kein Callstack da ist. Das haben wir eigentlich nur, wenn das
Programm überhaupt nicht startet und nicht bei DB-Operationen.
Gruß Matthias
ramses
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 2513
Registriert: Mi, 28. Jul 2010 17:16
Hat sich bedankt: 12 Mal
Danksagung erhalten: 77 Mal

Re: ADS Fehlermeldung 5381

Beitrag von ramses »

Hallo Matthias

Nein, die Fatal-Log habe ich nicht gekürzt.

Ich verwende nicht ganz die selbe Abfragefunktion meine sieht so aus:

Code: Alles auswählen

static function ADSLastErrorString()
    local cDWError := space(2)
    local nLen := 400
    local cBuffer := space(nLen)
    local nError := 0

    DLLCall("ACE32.DLL",DLL_STDCALL,"AdsGetLastError", @cDWError, @cBuffer, @nLen)
    nError := bin2i(cDWError)

    if nError = 0
        cBuffer := "0000: No Error found."
    else
        cBuffer := strzero(nError,4,0)+": "+alltrim( charrepl(chr(0),cBuffer," ") )
    endif

return( cBuffer )
Auf diese Weise abgefragt ist am Ende der Meldung noch die Funktion angefügt die den Fehler ausgelöst hat und nicht nur der eigentliche Fehlermeldungstext.

Ich lasse mein Fehlermodul wenn möglich bei jedem Fehler den Befehl Wiederholen wenn Sie nicht aus dem Subsystem "DBFNTXAX" kommen, das hat viele Probleme durch Virenscanner beseitigt, evtl. ist das die Ursache dass ich keine Meldung bekomme. Ich bin jetzt am Testen.


Gruss Carlo
Valar Morghulis

Gruss Carlo
ramses
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 2513
Registriert: Mi, 28. Jul 2010 17:16
Hat sich bedankt: 12 Mal
Danksagung erhalten: 77 Mal

Re: ADS Fehlermeldung 5381

Beitrag von ramses »

Hallo Matthias

ich verzichte nun auf erneute Befehlsausführung im Fehlerhandler und bekomme nun mit obigem Code die korrekte Fehlermeldung.

Auch das Problem habe ich gefunden. Gleichzeitig mit meinem Programmupdate wurde auch der Switch im Netzwerk gewechselt. Dieser hat bei UDP einige Paketverluste pro Stunde. Nachdem ich ADS durch einsetzten von "USE_TCP_IP=1" in die ADS.INI von UDP auf IP gezwungen habe sind die Probleme nicht mehr aufgetaucht. Ursache waren die Packetverluste bei UDP Kommunikation.

Das ganze hat also keinen Zusammenhang mit xbase 2.0.875 welches ich gleichzeitig ausgerollt habe.

Gruss Carlo
Valar Morghulis

Gruss Carlo
Antworten

Zurück zu „Unterschiede Version 1.9 <-> 2.0“