Das Notes Forum
Domino 9 und frühere Versionen => Administration & Userprobleme => Thema gestartet von: Karotte am 27.04.03 - 09:26:20
-
Hoffentlich liest das heute noch jemand,
bin gerade dabei bei mir das Problem $BusyName zu lösen(gem. Hilfe), und nun meine Frage: Was mach ich wenn die DOC-ID die den Fehler erzeugt garnicht existiert ?!?
gem. log wird mir gesagt das es sich bei jeder Datenbank (20 gesamt) um die Dok-ID: NT000008FA handelt, und das tolle ist in keiner der Datenbanken ist diese Dok-ID enthalten...
-
hast du mal die genaue Fehlermeldung ??
-
so auszug aus der console als anhang
-
ok, guckst du hier
http://eknori.dyndns.org/knowledge/kbnv11.nsf/34ccb724696466a48525667500536b5e/3e747f022ddb9597852569a50077ea11?OpenDocument
eknori
-
uups, stehe wohl auch ein wenig auf der Leitung; das hattest du ja schon gemacht.
Zum Agenten... wo ist das Problem ??
Neuen Agenten erstellen -- da wo du die Formel eintragenwürdest auf Script umstallen und dein Script in den Initialize Event des Agenten pinnen.
-
ohh danke darauf muss man erstmal kommen ;-)
menno ich werd alt, bei mir will der nur "Einfache Aktionen" machen, ich kann da auch nix dran ändern :(
ich habe hier einen Agenten ausn Forum und einen von IBM, ja aber wo tue ich den den drüberlaufen lassen...
2. Gibts irgendwo noch ne Lösung ohne die Ressourcen DB ?!? (oder bin ich der einzigste der keine hat?!? :) )
-
Im Idealfall über die Datenbanken, die den Fehler verursachen; bei allen anderen hat das wenig Sinn :D
-
Ok Ok fangen wir nochmal von vorn an (will ja schliesslich heut noch mit dem Schei* fertig werden und nach Hause fahren)
1. ich vermute mal über die jeweiligen Maildatenbanken
2. was drüberfahren lassen ? den Agenten ?
wenn Agent kannst du mir mal haargenau erklären wie ich denn nun den Agenten dazubekomme LS auszuführen (ich schick dir gleich mal meine Mail adresse da kannste mir das mailen wenns zu umfangreich wird :) )
mfg
-
das muss sich umstellen lassen; es sei denn...
hast du entsprechende Berechtigungen ?? Habe gerade mal getestet, ob ich das reproduzieren kann.
Habe mir auf eine DB auf dem Server lediglich entwicklerrechte gegeben und die Option für LotusScrit/JavaScript Agents entzogen. Trotzdem kann ich Alle Agenten erstellen.
Sorry, kanns nicht nachvollziehen; wenn du Managerrechte hast, kannst du auch alle Arten von Agenten erstellen.
::) ??? ??? ??? ??? ??? ::)
-
habs raus, habe den ne leere datei mit namen designer.exe im Domino verzeichnis erstellt ;) jetzt komm ich auch an die Optionen mit dem LS Script dran
und auf fälle funktioniert der Agent und das tolle ist: das Dokument was der Agent gefunden und gelöscht hat, hatte ne völlig andere ID als das was der SchedMgr gesagt hat ;)
So und nun die letzte frage: gibts ne Möglichkeit nen Agenten über alle Datenbanken fahren zu lassen ?
-
Ja, guck dir in der Hilfe die NotesDBDirectory Klasse mal an.
-
*grübel* *kratz am kopp* muss ich das jetzt in der Hilfe kapieren ?!? Wenn ich mir das richtig übersetzte nimmt er die erste Datenbank die er findet und dann ?!?
und wie muss ich da vorgehen, einfach bei ner datenbank anfangen, agenten erstellen und dann noch die notesdbdirectory mit aufnehmen ?!?
hätteste da evtl. mal was für mich ?!?
-
Ja, was in der Hilfe steht solltest du schon verstehen...
schau mal hier:
http://www.atnotes.de/index.php?board=7;action=display;threadid=7854#bot
wenn du das script ein wenig abspeckst, hast du alles, was du brauchst
Übrigens : NotesDBDirectory hat Methoden wie GetFirstDatabase und GetNextDatabase.
Einfach mal ein bisschen weiter lesen als bis zum ersten Beispiel.
eknori
-
jaja aber ich bin ehh am Ende (kaum geschlafen, kaffee hilft auch nicht mehr, und kippen gehen zur neige)..ich les mir das mal in ruhe durch... (ich find es nur in der hilfe blöd das auch in den englischen sachen immer wieder deutsch auftauch (Das verwirrt) )
So aber das Problem ist gelöst:
folgendes gemacht:
(fürs suchranking: SchedMgr , BusyName , $BusyName )
1. betreffende Datenbank (name im log) öffnen
2. Erstellen Agent (gültig für alle Dokumente)
3. Folgendes LS eintragen
Dim session As New NotesSession
Dim db As NotesDatabase
Dim doc As NotesDocument
Dim docDelete As NotesDocument
Dim ProfileCollection As NotesDocumentCollection
Dim x As Integer
Dim xDelete As Integer
Dim unidJB As String
Set db = session.CurrentDatabase
If db.CurrentAccessLevel <> Acllevel_manager Then
Messagebox "You must have manager access to use this program",16,"Access Error"
Exit Sub
End If
Set profileCollection = db.GetProfileDocCollection("CalendarProfile")
If profileCollection.Count = 0 Then
Messagebox "Unable to Find any CalendarProfile Documents in the Database.",64,"Found Nothing"
Exit Sub
End If
Set doc = profileCollection.GetFirstDocument
xDelete = 0
x = profileCollection.count
Do While Not (doc Is Nothing)
If Not doc.HasItem("$BusyName") Then
xDelete = xDelete + 1
unidJB = doc.Universalid
Set doc = Nothing
Set docDelete = db.GetDocumentByUNID(unidJB)
Call docDelete.Remove(True)
Set profileCollection = db.GetProfileDocCollection("CalendarProfile")
Set doc = profileCollection.GetFirstDocument
Else
Set doc = profileCollection.GetNextDocument(doc)
End If
Loop
Messagebox "Found " & Cstr(x) & " CalendarProfile Documents in the Database." & Chr(13) & Chr(10) &_
"Deleted " & Cstr(xDelete) & " of them that did not have the $BusyName field.",64,"Done"
4. Agent ausführen
5. fertig