Autor Thema: Profildokumente löschen ohne den Maskennamen zu kennen  (Gelesen 2959 mal)

Offline alexB

  • Junior Mitglied
  • **
  • Beiträge: 59
Ich habe hier eine Datenbank die schon etwas älter ist.
Einer meiner Vorgänger hat anscheinend irgendwann mal Profildokumente angelegt.
Jetzt möchte ich sämtliche Profildokumente in dieser Datenbank löschen, ohne deren Maskennamen zu kennen.
Geht das bzw. kann man das in das untere Script einbauen?


Dim session As New NotesSession
Dim db As NotesDatabase
Dim doc As NotesDocument
Set db = session.CurrentDatabase
Dim NDC As notesDocumentCollection
Set NDC = db.GetProfileDocCollection( "WeißIchNicht" )
Call NDC.RemoveAll (true)

« Letzte Änderung: 14.11.05 - 11:26:15 von alexB »

Offline Lossa

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.404
  • Geschlecht: Männlich
    • alphaTrain
Re: Profildokumente löschen ohne den Maskennamen zu kennen
« Antwort #1 am: 14.11.05 - 10:19:06 »
Hallo,

ABÄR!!!!!

Bist du sicher das die Datenbank danach noch so funktioniert wie sie es bisher läuft?

« Letzte Änderung: 14.11.05 - 10:29:01 von Lossa »
Viele Grüße

Ulrich Lossa
Aktiv als Notes Admin und Entwickler seit Version 1.
Freier Trainer und Berater.
Zertifiziert für alle Versionen SA und DB.
HCL Certified Administrator
IBM Certified Advanced Application Developer (PCLP AD)
IBM Certified Advanced System Administrator (PCLP SA)
IBM Certified Instructor for System Administration and Application Development ( CLI)
IBM Certified Instructor for Websphere Software
IBM Certified Instructor for DB2
http://www.alphatrain.de
Lossa@alphatrain.de

Glombi

  • Gast
Re: Profildokumente löschen ohne den Maskennamen zu kennen
« Antwort #2 am: 14.11.05 - 10:25:45 »
Wenn Du den Namen des Profil nicht kennst, geht es so nicht. "WeißIchNicht" wird ja kaum der Name sein.

D.h. Du musst es anders machen,. Unbd zwar eine Collection über alle Dokumente der Datenbank erstellen und dann über alle Dokumente der Collection iterieren. Mit

notesDocument.IsProfile

abfragen, ob es ein Profil ist. Falls true, löschen.

Vorher aber das Nachfolgedokument setzen.

Andreas

Offline alexB

  • Junior Mitglied
  • **
  • Beiträge: 59
Re: Profildokumente löschen ohne den Maskennamen zu kennen
« Antwort #3 am: 14.11.05 - 10:31:06 »
@Glombi
Danke für die schnelle Antwort.
Das mit der DocCollection über alle Docs einer Datenbank hört sich interessant an, das werde ich mal testen.

Ein fertiges Tool/Script gibt es da nicht zufällig?

Offline Johnson

  • Senior Mitglied
  • ****
  • Beiträge: 258
  • Geschlecht: Männlich
Re: Profildokumente löschen ohne den Maskennamen zu kennen
« Antwort #4 am: 14.11.05 - 10:38:40 »
Hallo zusammen,

Nimm dein Script und ändere die Zeile ...

Set NDC = db.GetProfileDocCollection( "WeißIchNicht" )

... in ...

Set NDC = db.GetProfileDocCollection( )

Dann bekommst du alle Profildokumente der Datenbank.

Und jetzt hab ich da noch ´ne Frage:
Ich versuche seit geraumer Zeit die Brackpointprofile aus der Datenbank zu löschen.
Hat das jemand mal geschafft?
Gruß
Johnson

Offline mrtachles

  • Frischling
  • *
  • Beiträge: 34
  • Geschlecht: Männlich
    • Die ECOBoys
Re: Profildokumente löschen ohne den Maskennamen zu kennen
« Antwort #5 am: 14.11.05 - 10:50:34 »
jo, allerdings nur mit nem 5er client.
Ein IBM  call ergab, dass die profile ansonsten unter R6 nicht per Programmierung sondern im Debugger via "Clear all Breakpoints" ; ( gelöscht werden müssten...

Offline Johnson

  • Senior Mitglied
  • ****
  • Beiträge: 258
  • Geschlecht: Männlich
Re: Profildokumente löschen ohne den Maskennamen zu kennen
« Antwort #6 am: 14.11.05 - 10:57:55 »
UFFF!

Das sind doch personliche Profile, oder? Das Problem ist dabei, die sind z.T. von Usern, die nicht mehr hier sind. Das ist ja ein ziehmlich ... ungünstiger Workaround von IBM.
Gruß
Johnson

Offline alexB

  • Junior Mitglied
  • **
  • Beiträge: 59
Re: Profildokumente löschen ohne den Maskennamen zu kennen
« Antwort #7 am: 14.11.05 - 11:25:15 »
Vielen Dank!
Das funktioniert einwandfrei. Nochmal komplett:

Dim session As New NotesSession
Dim db As NotesDatabase
Dim doc As NotesDocument
Set db = session.CurrentDatabase
Dim NDC As notesDocumentCollection
Set NDC = db.GetProfileDocCollection( )
Print "Anzahl gelöschter Dokumente: ", NDC.count
Call NDC.RemoveAll (True)

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz