Autor Thema: Probleme mit Agent  (Gelesen 2003 mal)

Offline piccolo

  • Frischling
  • *
  • Beiträge: 38
  • Ich liebe dieses Forum!
Probleme mit Agent
« am: 27.06.03 - 14:50:55 »
was soll das bitte bedeuten ?
: Cannot open databases on machines other than the server running your program (***Server**\Verzeichniss\faxverteiler.nsf)
<b>PADI - Diving is Fun ! PADI Rescue Diver</b>

Offline doliman

  • Senior Mitglied
  • ****
  • Beiträge: 332
  • Geschlecht: Männlich
    • www.doleschel.de
Re:Probleme mit Agent
« Antwort #1 am: 27.06.03 - 15:45:16 »
Hi,

stell mal den Code rein.
Vermute mal, dass Du den Servernamen als Konstante in einer Function mitgibst anstatt sowas wie "db.server"
Grüßle
                           _///_
                          (o~o)
-------------oOOO--(_)--OOOo-------------
Frank Doleschel

----------------------
Ein Berufsleben ohne Notes ist zwar möglich aber die Alternativen sind erschreckend ;-)

Offline Meff

  • Freund des Hauses!
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 2.095
  • Geschlecht: Männlich
  • Das Denken der Zukunft muß Kriege unmöglich machen
    • apparet id etiam caeco
Re:Probleme mit Agent
« Antwort #2 am: 27.06.03 - 15:54:54 »
Wenn Du mittels eines Serverbasierten Agents versuchst, eine Datenbank auf einem anderen Server zu öffnen, dann erhälst Du diese Fehlermeldung. Das geht leider erst ab R6. Wenn Du sowas mit R5 machen möchtest, dann muss der Agent auf dem Client laufen.

Meff
"Zwei Dinge sind zu unserer Arbeit nötig: Unermüdliche Ausdauer und die Bereitschaft, etwas, in das man viel Zeit und Arbeit gesteckt hat, wieder wegzuwerfen."
Albert Einstein

Offline doliman

  • Senior Mitglied
  • ****
  • Beiträge: 332
  • Geschlecht: Männlich
    • www.doleschel.de
Re:Probleme mit Agent
« Antwort #3 am: 27.06.03 - 15:57:08 »
Hi,

das ist mir aber neu.
Dann würden unsere Anwendungen nicht mehr laufen oder ich habe gute Programmierarbeit geleistet.
Grüßle
                           _///_
                          (o~o)
-------------oOOO--(_)--OOOo-------------
Frank Doleschel

----------------------
Ein Berufsleben ohne Notes ist zwar möglich aber die Alternativen sind erschreckend ;-)

Offline ata

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 5.092
  • Geschlecht: Männlich
  • drenaiondrufflos
    • Anton Tauscher Privat
Re:Probleme mit Agent
« Antwort #4 am: 27.06.03 - 22:24:55 »
... dein Code würde mich wirklich interssieren - ich bin nämlich ebenfalls Meff's Meinung - mit einem Agenten in DB A auf einem Server A kann ich in einer Datenbank B auf einem Server B keinen Agenten starten - ist erst ab Version 6 möglich - eines der neuen Features - daher würde mich interssieren, wie du das machst...

ata
Grüßle Toni :)

Offline piccolo

  • Frischling
  • *
  • Beiträge: 38
  • Ich liebe dieses Forum!
Re:Probleme mit Agent
« Antwort #5 am: 30.06.03 - 08:25:25 »
hier der code, der agent wird bei einkommende mails gestartet, bzw. habs auch mit zeitplan probiert.......

Sub Initialize
'    # 1. Dimensionierung der Objekte
   Dim session As New NotesSession  
   ' # nenn die Session nicht 's' - einzelne Buchstaben verwendet man gerne als Zählvariablen in Schleifen
   
   Dim SourceDB As NotesDatabase  ' # besser wäre dbSource - das Objekt leitet den Namen ein...
   Dim TargetDB As NotesDatabase
   'Dim dc As NotesDocumentcollection  
   Dim TargetDoc As NotesDocument  ' # besser wäre docTarget - das Objekt leitet den Namen ein...
   Dim SourceDoc As NotesDocument
   
   'Dim object As NotesEmbeddedObject
   'Dim ItemType As Integer
   
   ' # ... die Dimensionierung innerhalb einer Do-While-Schleife macht keinen Sinn - hier ist sie richtiger
   'Dim AttachmentName As String
   'Dim newObject As NotesEmbeddedObject
   Dim rtitem As NotesRichTextItem
   Dim rtitem2 As NotesRichTExtItem
   ' # Initialisierung der benötigten Objekte
   dbserver ="LNSERVER**"   
   Set TargetDB = session.GetDatabase(dbserver,"\faxverteiler")
   
   ' # ...Validierung der Quelldatenbank
   Set SourceDB = session.CurrentDatabase
   If Not TargetDB.IsOpen Then
      Msgbox "Abbruch - die Quelldatenbank konnte nicht geöffnet werden"
      Exit Sub ' # ... bzw. Exit Function, wenn in einer Funktion gearbeitet wird.
   End If
   
   ' # ... Validierung der benötigeten Ansicht
   Set view = SourceDB.GetView( "Memo" )
   If view Is Nothing Then
      Msgbox "Abbruch - die Ansicht 'Memo' konnte nicht in der Quelldatenbank gefunden / geöffnet werden."
      Exit Sub ' # ... bzw. Exit Function, wenn in einer Funktion gearbeitet wird.
   End If
   
   ' # ... das erste Dokument initialisieren - war in deinem Code auskommentiert - warum
   Set SourceDoc = view.GetFirstDocument()
   
   ' # Der eigentliche Code, der das Ergebnis herstellen soll
   
   Do While Not (SourceDoc Is Nothing)
      
          ' Copy fields from Source Doc to Target Doc
      Set TargetDoc = New NotesDocument( TargetDB )
      TargetDoc.Form = "Memo"
'      TargetDoc.Category = SourceDoc.heading
'      TargetDoc.SubCat = SourceDoc.Category
      TargetDoc.docTitle = "Faxenmacher"
      
          ' # hier kommt der Code zur Übernahme des Attachments
      ' # ... ich würde das Feld mit dem Attachment in dein Zieldokument kopieren
      Set rtItem2 = SourceDoc.GetFirstItem("Body") ' # hier liegt das Attachment in der Regel  
   '   Call TargetDoc.CopyItem( rtItem, "Body" )      
      ' # ... Attachment übernommen.
        ' Copy fields from Source Doc to Target Doc
      ' # hier kommt der Code zur Übernahme des Attachments
      ' # ... ich würde das Feld mit dem Attachment in dein Zieldokument kopieren
      ' # ... Attachment übernommen.
      
      Set TargetDoc = New NotesDocument( TargetDB )
      TargetDoc.form = "Memo"
'      TargetDoc.Category = SourceDoc.heading
'      TargetDoc.SubCat = SourceDoc.Category
      TargetDoc.docTitle = "Fax from Faxenmacher ;))"
      
          ' Check for attachment(s) in document
      Dim AttachmentName As String
      Dim newObject As NotesEmbeddedObject
      
      
          ' Save Attachment from Source Document to Disk
          ' and then attach file from disk to Target Document
      
      Set item = SourceDoc.GetFirstItem("$File")
      If Not (item Is Nothing) Then
         ItemType = item.Type
         
         If ItemType = 1084 Then          ' Item Type is
'ATTACHMENT (not absolutely sure because Notes help does not state the
            'integer values of item Types !)
            
            AttachmentName = item.Values(0)
            Set object = Sourcedoc.GetAttachment(AttachmentName )
            Call object.ExtractFile ( "c:\temp\" & AttachmentName)
            
                    ' Create Attachment in DocContent Field from file on disk
            Set rtitem = New NotesRichTextItem( TargetDoc,"DocContent" )
            Set NewObject = rtitem.EmbedObject (EMBED_ATTACHMENT, "", "c:\temp\" & AttachmentName)
            Call TargetDoc.CopyItem( rtItem2, "Body" )            
                    ' Delete temporary files from c:\temp directory
            Kill "c:\temp\" & AttachmentName
            
         End If
      End If
      
      'TargetDoc.Save True,True
      
      Set SourceDoc = view.GetNextDocument( SourceDoc )
      
   'Loop
      TargetDoc.Save True,True
      
      
      
   Loop
   ws.ViewRefresh  
End Sub

Was mach ich da bloß falsch ?
« Letzte Änderung: 30.06.03 - 08:26:10 von piccolo »
<b>PADI - Diving is Fun ! PADI Rescue Diver</b>

Glombi

  • Gast
Re:Probleme mit Agent
« Antwort #6 am: 30.06.03 - 08:35:30 »
Hi, piccolo: Meff hat recht: Servergestützte Agenten können nur Datenbanken auf dem Server öffnen, auf dem der Agent läuft.
Bei einem servergestützten Agenten muss man als Servername = "" eingeben.
Versuch es mal so:

dim ret as integer
dbserver =""  
Set TargetDB = New NotesDatabase("","")
ret = TargetDB.Open("","faxverteiler.nsf")

if not ret then exit sub

... und hier gehts dann weiter...

Gruß
Andreas


Offline Meff

  • Freund des Hauses!
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 2.095
  • Geschlecht: Männlich
  • Das Denken der Zukunft muß Kriege unmöglich machen
    • apparet id etiam caeco
Re:Probleme mit Agent
« Antwort #7 am: 30.06.03 - 09:50:07 »
"Zwei Dinge sind zu unserer Arbeit nötig: Unermüdliche Ausdauer und die Bereitschaft, etwas, in das man viel Zeit und Arbeit gesteckt hat, wieder wegzuwerfen."
Albert Einstein

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz