Autor Thema: Zugriff auf Datenbank in einer fremden Domäne über WebQuerySave-Agent  (Gelesen 3296 mal)

Offline machineslave

  • Senior Mitglied
  • ****
  • Beiträge: 328
  • Geschlecht: Männlich
Hallo,

folgendes Szenario:

Auf einem Domino Server in Notes Domäne A läuft eine Webanwendung, welche im WebQuerySave-Event einen Agenten eingetragen hat.
Dieser soll in eine Datenbank auf einem Server in Domäne B ein Dokument ändern.

Rufe ich den Agenten manuell über den Notes Client auf, so funktioniert das reibungslos.
Berechtigungen etc. habe ich bereits geprüft.
Wenn dieser allerdings über das Webformular aufgerufen wird, bekomme ich auf der Konsole eine Fehlermeldung "Database has not been opened yet".

Ich habe den Server aus Domäne A schon als Trusted Server im Serverdokument in Domäne B eingetragen.

Hat jemand einen Tipp?

Danke und Gruß

Stefan
Stefan

Das Leben ist ein Scheiß Spiel, aber die Grafik ist geil

Offline m3

  • Freund des Hauses!
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 8.102
  • Geschlecht: Männlich
  • Non ex transverso sed deorsum!
    • leyrers online pamphlet
Ja, Fehlermeldung genau lesen! ;)
Probier mal im Code ein db.Open und fang dort auch ev. Fehler ab.
HTH
m³ aka. Martin -- leyrers online pamphlet | LEYON - All things Lotus (IBM Collaborations Solutions)

All programs evolve until they can send email.
Except Microsoft Exchange.
    - Memorable Quotes from Alt.Sysadmin.Recovery

"Lotus Notes ist wie ein Badezimmer, geht ohne Kacheln, aber nicht so gut." -- Peter Klett

"If there isn't at least a handful of solutions for any given problem, it isn't IBM"™ - @notessensai

Offline machineslave

  • Senior Mitglied
  • ****
  • Beiträge: 328
  • Geschlecht: Männlich
Wenn ich den Fehler abfange, bekomme ich genau das zurück:

Database <datenbankname> has not been opened yet.

Merkwürdigerweise bekomme ich diesen Fehler nicht, wenn ich auf einen anderen Server in der fremden Domäne dieselbe DB öffnen möchte.
Stefan

Das Leben ist ein Scheiß Spiel, aber die Grafik ist geil

Offline flaite

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 2.966
    • mein del.icio.us
Wie sind die Einstellungen auf dem zweiten Reiter der Eigenschaftenbox des Agenten?
Set Security level, run on hehalf of?
Ich stimm nicht mit allen überein, aber mit vielen und sowieso unterhaltsam -> https://www.youtube.com/channel/UCr9qCdqXLm2SU0BIs6d_68Q

---

Aquí no se respeta ni la ley de la selva.
(Hier respektiert man nicht einmal das Gesetz des Dschungels)

Nicanor Parra, San Fabian, Región del Bio Bio, República de Chile

Offline machineslave

  • Senior Mitglied
  • ****
  • Beiträge: 328
  • Geschlecht: Männlich
Das ist Level 2 mit Run on behalf of: <Server, wo der Agent gestartet wird>
Stefan

Das Leben ist ein Scheiß Spiel, aber die Grafik ist geil

Offline koehlerbv

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 20.460
  • Geschlecht: Männlich
Wir brauchen Code ... Wie ist das Datenbankobjekt deklariert?
Dim dbRemoteServer As New NotesDatabase ("", "")
sollte schon sein, und dann entsprechend zuweisen. Ohne Code ist das jetzt aber ins Dunkle gefeuert ...

Bernhard

Offline ata

  • Freund des Hauses!
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 5.092
  • Geschlecht: Männlich
  • drenaiondrufflos
    • Anton Tauscher Privat
Zitat
Ohne Code ist das jetzt aber ins Dunkle gefeuert ...

... sehe ich auch so.

Die Fehlermeldung deutet darauf hin, daß die Datenbank entweder nicht richtig initialisiert wurde => Schreibfehler bei Server und/oder Pfad, oder du dort keine Rechte auf die Datenbank hast...

Toni
Grüßle Toni :)

Offline machineslave

  • Senior Mitglied
  • ****
  • Beiträge: 328
  • Geschlecht: Männlich
Hallo,

die Berechtigung habe ich überprüft, die stimmt soweit.
Hier wäre der Code:

Sub Initialize
   Dim session As New NotesSession
   Dim db      As New NotesDatabase("", "")
   Dim view    As NotesView
   Dim doc     As NotesDocument
   Dim nabDoc     As NotesDocument
 
   Set doc = session.DocumentContext
   
   
   On Error Goto fehler
   Call db.Open("<server>", "names.nsf")
   Set view = db.GetView("($VIMPeople)")
   aUser = doc.UserName(0)
   Set nabDoc = view.GetDocumentByKey(aUser)
   If Not (nabDoc Is Nothing) Then
      nabDoc.JobTitle = doc.JobTitle
      Call nabDoc.save(True, False)
   End If
   Print "Success"
   Exit Sub
   
   
fehler:
   Print Erl
   Print Err
   Print Error
   Exit Sub
End Sub
Stefan

Das Leben ist ein Scheiß Spiel, aber die Grafik ist geil

Offline m3

  • Freund des Hauses!
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 8.102
  • Geschlecht: Männlich
  • Non ex transverso sed deorsum!
    • leyrers online pamphlet
Ich würd mal nach dem db.Open einen Test einbauen, ob die DB auch wirklich offen ist.
HTH
m³ aka. Martin -- leyrers online pamphlet | LEYON - All things Lotus (IBM Collaborations Solutions)

All programs evolve until they can send email.
Except Microsoft Exchange.
    - Memorable Quotes from Alt.Sysadmin.Recovery

"Lotus Notes ist wie ein Badezimmer, geht ohne Kacheln, aber nicht so gut." -- Peter Klett

"If there isn't at least a handful of solutions for any given problem, it isn't IBM"™ - @notessensai

Offline machineslave

  • Senior Mitglied
  • ****
  • Beiträge: 328
  • Geschlecht: Männlich
Wenn ich folgenden Code verwende:

flag = db.Open("<server>", "names.nsf")
print flag

... bekomme ich False ausgegeben.
Merkwürdig ist halt, warum er mir nicht sagt, warum er die DB nicht öffnen kann.
Stefan

Das Leben ist ein Scheiß Spiel, aber die Grafik ist geil

Offline machineslave

  • Senior Mitglied
  • ****
  • Beiträge: 328
  • Geschlecht: Männlich
Hab's herausbekommen.
Ich habe einfach ein Verbindungsdokument zu dem Server, der in der anderen Domäne ist, erstellt; schon kann ich auch die Datenbank öffnen.

Gruß

Stefan
Stefan

Das Leben ist ein Scheiß Spiel, aber die Grafik ist geil

Offline ata

  • Freund des Hauses!
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 5.092
  • Geschlecht: Männlich
  • drenaiondrufflos
    • Anton Tauscher Privat
... es ist wie immer - kaum macht man's richtig - tut's  ;D

Toni
Grüßle Toni :)

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz