Autor Thema: LS: Datenbank löschen (Anfänger)  (Gelesen 1154 mal)

Offline meleg

  • Aktives Mitglied
  • ***
  • Beiträge: 104
  • I love YaBB 1G - SP1!
LS: Datenbank löschen (Anfänger)
« am: 09.07.03 - 08:33:23 »
Hallo,

ich bin Anfänger in der Lotus Script Programmierung.
Wir setzen 5.08 ein.


Ich möchte bei unseren Aussendienstmitarbeitern die lokale Replik einer Datenbank automatisiert löschen. Dazu möchte ich denen eine Mail mit einer Schaltfläche schicken, auf die sie nur klicken müssen.

In einem 2. Schritt möchte ich dann eine neue Replik der selben Datenbank wieder anlegen.

Wichtiger wäre mir der erste Schritt. Bei dem 2. gibt es das Problem, dass die Aussendienstmitarbeiter regionalen Zentren zugeordnet sind, und die Replik von jeweils von diesem regionalen Server gezogen werden muss. Dass will ich eventuell mit einer genauen Anleitung lösen.

Danke

meleg

Glombi

  • Gast
Re:LS: Datenbank löschen (Anfänger)
« Antwort #1 am: 09.07.03 - 08:37:03 »
Hi,
löschen geht so:

Dim db As New NotesDatabase( "", "byebye.nsf" )
Call db.Remove

Andreas

Glombi

  • Gast
Re:LS: Datenbank löschen (Anfänger)
« Antwort #2 am: 09.07.03 - 08:39:19 »
Wegen des Anlegens einer neuen Replik:
Das geht prinzipiell so:

This script creates a replica of the current database on the server Jakarta.
Dim session As New NotesSession
Dim db As NotesDatabase
Dim replica As NotesDatabase
Set db = session.CurrentDatabase
Set replica = db.CreateReplica( "Jakarta", "sales.nsf" )

Dein problem ist jetzt, den richtigen Server zu ermitteln. Kann man evtl. anhand des Mailservers der Anwender auf den Datenbankserver schließen?

Andreas

Offline meleg

  • Aktives Mitglied
  • ***
  • Beiträge: 104
  • I love YaBB 1G - SP1!
klappt, aber Ordner wird mitgelöscht
« Antwort #3 am: 09.07.03 - 11:14:25 »
Hallo Glombi,

vielen Dank für Deine schnelle Antwort.

Ich habe 'nen Test gemacht. Die Datenbank wird gelöscht, aber leider auch der Ordner, in dem sie sich befindet.
Mein Code sieht so aus:

Sub Click(Source As Button)
   Dim db As New NotesDatabase( "", "test\\loeschtest.nsf" )
   Call db.Remove
End Sub

test ist das Verzeichnis unterhalb des Notes-Datei-Verzeichnisses. Dieses Verzeichnis wird mit obenstehendem Code wie gesagt auch gelöscht.
Was mache ich falsch?

Zum 2. Problem: Ja, der Server, von dem die neue Replik gezogen werden soll, ist der Mailserver der Anwender.

Danke für Deine Hilfe

meleg




Glombi

  • Gast
Re:LS: Datenbank löschen (Anfänger)
« Antwort #4 am: 09.07.03 - 11:26:13 »
Hi,
Zu 2) Die DB vom Mailserver saugen:

Dim session As New NotesSession
Dim db As NotesDatabase
Dim replica As NotesDatabase
Dim maildb As New NotesDatabase( "", "" )
dim ret as integer
ret = maildb.OpenMail
if not ret then exit sub

Set db = New NotesDatabase("","")
ret = db.Open(maildb.Server,"sales.nsf")
if not ret then
msgbox "Die Datenbank konnte nicht geöffnert werden!",0+16,"Abbruch"
exit sub
end if

Set replica = db.CreateReplica( "", "sales.nsf" )


Dieses Script öffnet die Maildatenbank, um den Server zu ermitteln. Dann wird die Datenbank, die repliziert werden soll (hier "sales.nsf") auf dem Server geholt und lokale repliziert.

Andreas

Glombi

  • Gast
Re:LS: Datenbank löschen (Anfänger)
« Antwort #5 am: 09.07.03 - 11:35:04 »
Zu 1.) Das Notes dann auch das Verzeichnis gleich mit löscht, ist mal wieder typisch  ;D
Das passiert, wenn keine andere Datei vorhanden ist.
Du könntest nach dem Löschen prüfen, ob das Verzeichnis da ist. Falls nicht, das wieder anlegen.

dim checkdir as string
checkdir = Dir$("C:\\temp",16)
if checkdir = "" then
mkdir checkdir
end if

Andreas

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz