Lotus Notes / Domino 10 > ND10: Entwicklung
Zugriffe auf DB auslesen mit CLASSUserActivity
SD:
Guten Tag allerseits!
Benutzt hier zufällig jemand ide CLASSUserActivity-Scriptbibliothek von hier? https://www.agecom.com.au/agecom.nsf/0/8C9C50BC861E4A23CA2576DE003A2BB8?OpenDocument&IsDialog=1
Man kann damit auf die User Activities einer Notes-DB zugreifen, um die einzelnen Log-Einträge auszulesen.
Das haben wir bisher mit einem zeitgesteuerten, serverseitigen Agenten auf einem 64bit Windows2008R2 Server mit einem Domino 9.0.1FP10 gemacht und es hat wunderbar funktioniert. Die neuste Version der Scriptbibliothek ist offenbar von 2012 (zumindest laut dem Changelog im Code selbst). Diese nutzen wir.
Seit neustem sind wir auf einem 64bit Windows Server 2016 mit einem Domino 10.0.1FP2 und leider bringt dieser Code jetzt den kompletten Domino zum Absturz. Die neuen NSDs sind leider furchbar nichtssagend. :(
Durch ein wenig testen, konnte ich herausfinden, dass es diese Zeile ist, die den Crash verursacht:
--- Code: ---Call CopyMemory (puActivityEntryExtended, StructureOffset, Len(puActivityEntryExtended))
--- Ende Code ---
Aufgerufen wird hier folgendes:
--- Code: ---Declare Sub CopyMemory Lib "kernel32" Alias "RtlMoveMemory" ( hpvDest As Any, ByVal hpvSource As Any, ByVal cbCopy As Long)
--- Ende Code ---
Ich frage mich jetzt, ob das neuere Windows diesen Spaß nicht mehr mit macht, oder ob der neuere Domino etwas dagegen hat?! Auf dem alten Windows hat dieses kernel32-Zeugs noch funktioniert. Gibt es das vielleicht so nicht mehr auf Windows Server 2016? Hat damit zufällig jemand Erfahrung? Oder das gleiche Problem? Oder noch besser: einen Weg das zu fixen?
Grüße
Stefan
SD:
Nachtrag:
Später im Code kommt noch das:
--- Code: ---Call CopyMemoryString(spUsername, UsernameOffset, strlenLP(UsernameOffset))
--- Ende Code ---
--- Code: ---Declare Sub CopyMemoryString Lib "kernel32" Alias "RtlMoveMemory" ( ByVal hpvDest As String, ByVal hpvSource As Any, ByVal cbCopy As Long)
--- Ende Code ---
So weit schafft der Code es zwar aktuell nicht, aber ich fürchte das würde dann wahrscheinlich das gleiche Problem haben.
eknori:
Was ich momentan sagen kann ist, daß es nicht am Windows liegt.
Ich habe die DB unter Windows 2016 ( latest patches ) mit Domino 9.0.1FP10 getestet. Dort läuft der Agent ohne Probleme.
Unter Windows 2016 ( als clone der 901er Installation ) mit 10.0.1FP1 & FP2 crasht der Server.
Also wird es irgend etwas im 10er codestream sein, was zu dem Crash führt.
Ist jetzt eine schwierige Situation. Auf der einen Seite scheint es ein Bug zu sein, auf der anderen Seite gibt es keinen Support für custom applications.
Ich werde aber mal einen case anlegen; evtl bekomme ich das irgendwie zu L3.
Case# TS002346973
eknori:
Ich habe es noch weiter runterbrechen können.
Das Problem liegt in der Deklaration von CopyMemory ( und CopyMemoryString)
--- Code: ---Declare Sub CopyMemory Lib "kernel32" Alias "RtlMoveMemory" ( hpvDest As Any, ByVal hpvSource As Any, ByVal cbCopy As Long)
--- Ende Code ---
Das ByVal bei hpvSource löst den Crash aus.
Lässt man es weg, dann läuft der Server zwar durch, aber es werden keine Werte für die einzelnen User ermittelt. Statt dessen gibt es einen Fehler bei der Konvertierung des Datums, was aber auch klar ist.
Na ja, warten wir mal ab, was der Support so meldet.
eknori:
Gerade im Moment kam die erste Antwort vom Support
--- Zitat ---I have further worked on this issue and found that there is no issue with Domino 10.0.1 Server with out any Fix Pack.
Please let me know whether it is OK to currently use with Domino 10.0.1 with out any fix packs.
--- Ende Zitat ---
Leider crasht der Server bei mir auch ohne FP.
Navigation
[0] Themen-Index
[#] Nächste Seite
Zur normalen Ansicht wechseln