Das Notes Forum

Domino 9 und frühere Versionen => Entwicklung => Thema gestartet von: mattu82 am 23.10.03 - 09:22:28

Titel: Zugriff auf lokale Datenbank
Beitrag von: mattu82 am 23.10.03 - 09:22:28
Hallo,

ich habe nen kleinen Agenten, der programmiert war auf einen Server zuzugreifen.
Wie schaffe ich es, dass dieser Agent in einer lokalen Datenbank sucht?

Ich habe es schon versucht, meine IP-Adresse, lokal oder localhost anzugeben, aber es läuft nix. ???

Kann mir da jemand helfen?
Titel: Re:Zugriff auf lokale Datenbank
Beitrag von: Till_21 am 23.10.03 - 09:24:08
ohne genauere angaben oder quelltext kann da glaub ich keiner drauf antworten

gruss

ps: willkommen im forum
Titel: Re:Zugriff auf lokale Datenbank
Beitrag von: mattu82 am 23.10.03 - 09:27:57
Das mit den Antworten geht ja wirklich superschnell hier  :D

Dies hier ist der Quelltext.

Hab anstatt meine IP oder irgendwas einfach "" gesetzt.
Aber ich bekomme immer noch die Meldung "Befehl kann nicht ausgeführt werden" ???

Auswahl := @Name([OU1];Fullname);

@SetField("CompanyName";@DbLookup( "" : "NoCache" ; "" : "names1.nsf" ; "Standort" ; Auswahl ; "CompanyName" ));
@SetField("Location";@DbLookup( "" : "NoCache" ; "" : "names1.nsf" ; "Standort" ; Auswahl ; "Location" ));
@SetField("OfficeStreetAddress";@DbLookup( "" : "NoCache" ; "" : "names1.nsf" ; "Standort" ; Auswahl ; "OfficeStreetAddress" ));
@SetField("OfficeCity";@DbLookup( "" : "NoCache" ; "" : "names1.nsf" ; "Standort" ; Auswahl ; "OfficeCity" ));
@SetField("OfficeZIP";@DbLookup( "" : "NoCache" ; "" : "names1.nsf" ; "Standort" ; Auswahl ; "OfficeZIP" ));
@SetField("PhoneNumber";@DbLookup( "" : "NoCache" ; "" : "names1.nsf" ; "Standort" ; Auswahl ; "PhoneNumber" ));
@PostedCommand([FileSave])

mfg
mattu
Titel: Re:Zugriff auf lokale Datenbank
Beitrag von: Semeaphoros am 23.10.03 - 09:31:07
Und, hast Du es mit diesem Code, den Du da eben gepostet hast, schon probiert? Das ist nämlich genau die Lösung: Lokale Datenbank heisst ganz einfach, dass beim Server "", also ein Leerstring, eingetragen wird.
Titel: Re:Zugriff auf lokale Datenbank
Beitrag von: mattu82 am 23.10.03 - 09:36:04
Hi,

klar hab ich das schon probiert, aber ich bekomme dann immer die Fehlermeldung "Befehl kann nicht ausgeführt werden", wollte dafür aber nicht noch erst nen neuen Thread aufmachen.

Irgendwo muss in dem Code noch nen Fehler versteckt sein, den ich aber leider nicht finde.

BTW: Gibt es bei Notes auch irgendwas, damit einzelne Befehlszeilen nicht interpretiert werden, so wie ' bei VB?
Titel: Re:Zugriff auf lokale Datenbank
Beitrag von: Semeaphoros am 23.10.03 - 09:42:47
Schaust Du unter REM in der Designer-Hilfe zu @Formula.

VB äquivalent ist LotusScript und da geht das so ähnlich wie bei VB, Formelsprache ist aber was anderes.

Unter R5 ist REM nicht ganz so flexibel, wie man das vielleicht gerne hätte, es funktioniert nicht immer, damit Code zu deaktivieren. Meine Methode in solchen Fällen: die ganze Formel woanders hin kopieren und dann den nicht benötigten Teil rauslöschen zum Testen, danach lässt sich zurückkopieren, was man dann tatsächlich braucht.
Titel: Re:Zugriff auf lokale Datenbank
Beitrag von: mattu82 am 23.10.03 - 09:48:56
Ok, das mit dem REM geht schon mal so wie ich mir das vorgestellt hatte.

Aber ich bekomme diesen Agenten nicht zum laufen.
Es kommt immer die Fehlermeldung und ich weiß leider nicht, wie ich die wegbekommen soll. :-[
Titel: Re:Zugriff auf lokale Datenbank
Beitrag von: Semeaphoros am 23.10.03 - 09:57:11
@SetField  kann erst gebraucht werden, wenn das Feld bereits deklaireirt ist: Hier aus der Hilfe:

Zitat
With Release 6, you no longer need to declare the field receiving the assignment prior to setting its value with @SetField. For R5 or earlier clients, declare the field at the beginning of the formula, as follows:

FIELD Fieldname:=Fieldname;

Damit lässt sich das auch gleich umschreiben in:

FIELD CompanyName := @DbLookup( "" : "NoCache" ; "" : "names1.nsf" ; "Standort" ; Auswahl ; "CompanyName" );
Titel: Re:Zugriff auf lokale Datenbank
Beitrag von: mattu82 am 23.10.03 - 10:03:12
Ich weiß wirklich nicht was ich falsch mache aber es kommt immer wieder diese Fehlermeldung, dass der Befehl nicht ausgeführt werden kann.

Ich hab jetzt folgenden Code:

Auswahl := @Name([OU1];Fullname);

FIELD CompanyName := @DbLookup( "" : "NoCache" ; "" : "names1.nsf" ; "Standort" ; Auswahl ; "CompanyName" );
@PostedCommand([FileSave])
Titel: Re:Zugriff auf lokale Datenbank
Beitrag von: Ranki am 23.10.03 - 10:11:09
Hallo,

hast Du mal das @PostedCommand herausgenommen und probiert?

In der Hilfe steht nämlich folgendes:

Code
Syntax
@PostedCommand( [ command ] ; parameters )
Usage
This function does not work in column, selection, hide-when, section editor, window title, field, or form formulas, or [b]in agents that run on a server[/b]. It's intended for use in SmartIcons, button, hotspot, and action formulas.


Vielleicht hilft's ...

Schönen Gruß

Ranki
Titel: Re:Zugriff auf lokale Datenbank
Beitrag von: Semeaphoros am 23.10.03 - 10:12:02
Ist Fullname ein Feld? Und was steht da drin?

Nimm Dir mal die Zeilen schön einzeln vor, lösche die beiden letzten, wenn der Fehler dann noch kommt, liegt es an den Daten. Dann eine nach der anderen zufügen. Ist das Dokument im Edit-Mode?
Titel: Re:Zugriff auf lokale Datenbank
Beitrag von: koehlerbv am 23.10.03 - 10:12:34
Wie startest Du überhaupt diesen "Agenten" (oder wo immer der Code steckt) ?
Titel: Re:Zugriff auf lokale Datenbank
Beitrag von: klaussal am 23.10.03 - 10:17:56
... hast du auch genügend rechte an der db (docs erstellen, etc...) ?
Titel: Re:Zugriff auf lokale Datenbank
Beitrag von: mattu82 am 23.10.03 - 10:18:05
Hab noch mal nen bisschen rumgetestet.

Ich habe das @PostedCommands rausgenommen, somit sieht mein Code folgendermaßen aus

Auswahl := @Name([OU1];Fullname);

FIELD CompanyName := @DbLookup( "" : "NoCache" ; "" : "names1.nsf" ; "Standort" ; Auswahl ; "CompanyName" );

Außerdem habe ich die Dokumente, für die der Agent gelten soll auf alle Dokumente umgestellt.
Der Agent lief jetzt auch durch, aber er hat leider keine Änderung bewirkt.

Aber ich gucke jetzt erstmal nen bisschen weiter, ihr habt mir auf alle Fälle schon mal mächtig weitergeholfen.
Vielen Dank dafür, sollte es weitere Problem geben meld ich mich nocmal.

mfg
mattu
Titel: Re:Zugriff auf lokale Datenbank
Beitrag von: Driri am 23.10.03 - 10:18:33
Mal vielleicht ne dumme Frage :

Die Datei "names1.nsf" steht aber schon im DATA-Verzeichnis, oder ?
Titel: Re:Zugriff auf lokale Datenbank
Beitrag von: mattu82 am 23.10.03 - 10:20:06
Ja die steht im Data Verzeichnis.
Auch habe ich Rechte auf alles.
Titel: Re:Zugriff auf lokale Datenbank
Beitrag von: Driri am 23.10.03 - 10:30:18
Bau mal nen Prompt ein und laß Dir den Inhalt von Auswahl anzeigen.

Sonst versuch mal, das Ergebnis des DBLookup in ne Variable zu packen und laß Dir die mal ausgeben.