Das Notes Forum
Domino 9 und frühere Versionen => ND6: Entwicklung => Thema gestartet von: bo1 am 11.07.06 - 15:14:26
-
Hallo,
habe eine NSF in Unterverzeichniss vom notes data. Sobald ich auf sie zugreifen will,
kommt "Database server!!unterverz\\abc.nsf has not been opened yet". Wenn die
db direkt im notes data Verzeichniss steht ist es kein Problem.
Wie muss ich den Zugriffspfad unter Linux angegen (// oder \/ oder ...)? Habe schon
alles ausprobiert.
z.B Fehler liefert
dbfile = "unterverz\\abc.nsf"
Danke.
Gruß bo
-
Nimm doch einfach die Replica ID der DB. Dann ist es egal wo Sie steht.
Wird auch einfacher, wenn Du später mal die DB verschiebst etc...
-
Hallo Urs,
dann habe ich doch eine Replik der Datenbank im Notesdata Verzeichniss, was ich
eigentlich mit Unterverzeichnissen vermeiden wollte. Wollte die DB nur einmal haben
ohne sie replizieren zu müssen.
Oder habe ich es falsch verstanden ?
Gruß bo
-
Ja hast Du.
Die DB kannst DU in ein beliebiges Unterverzeichniss packen.
Wenn Du die ReplikaID der DB verwendest in @Dblookup, @DBColumn oder auch in Script
call db.openbyreplicaID(...), dann sucht sich Notes die DB selber, egal in welchem Unterverzeichnis sie sich befindet.
-
OK. Heisst es das ich die DB's überhaupt nicht replizieren muss.
zb. @DbColumn("":"NoCache";"server":"abc.nsf";"view";1)
wie soll es mit Replica ID aussehen ?
Greift er dann immer auf die "Orginal" DB.
Gruß bo
-
Die DB muss einfach irgendwo auf deinem Server sein! Egal in welchem Verzeichnis !
Nur weil du die Replika ID verwendest musst du die DB nicht replizieren....
Jede DB hat so eine, egal ob Sie mit Hinz und Kunz repliziert oder nicht.....
RTFM !!!
z.B. mit @dbcolumn("":"NoCache";"[Replika ID]";"view";1);
Wobei [Replika ID] die Replika ID deiner DB ist (inkl. dem Doppelpunkt ":" in der Mitte)
-
Irgenwie funktioniert das bei mir nicht. Habe das so ausprobiert
cmd = "@DbColumn("""":""NoCache""; ""ds-01"":""[C12571A2:0046C919]""; ""(Lookup Nr)""; 1
col = Evaluate(cmd)
aber im col habe kein Rückgabe Wert, auch keine Fehlermeldung. ID ist OK.
Ohne eckige Klammern geht auch nicht.
-
Auszug aus der Hilfe
Specifying the server and database
There are several ways to specify the server : database parameter:
To perform the lookup on the current database (the same database in which the formula is being evaluated), specify "" as the entire argument to the function. "" means the local Domino directory where you are executing.
To perform a lookup on a local database, use "" for the server name and specify the database name explicitly, such as "":"DATABASE.NSF."
To perform a lookup (from the workstation) on a Domino database that resides on a server, include the server plus the path and file name as a text list, as in "SERVER":"DATABASE.NSF."
If there are multiple copies of the database located on various Domino servers, using the database replica ID in place of both the server and database name allows you to access a replica copy of that database without having to specify either the server name or the database name. For example, if you use "85255CEB:0032AC04" (a database replica ID, found in the database InfoBox) as the database name, Lotus Domino uses a replica of the database to retrieve the information.
-
Es geht mit ID wenn ich auf die DB im notesdata zugreife. Wenn ich
auf die im Unterverzeichniss probiere, kommt Meldung: "Operation failed".
Habe schon Default Zugriffsrechte auf Manager gesetzt.
-
Sind die Berechtigungen auf dem Unterverzeichnis / File korrekt gesetzt (chmod?) dass der DominoAccount diese auch lesen/bearbeiten kann?
-
Mach die Notes-Hilfe zu deinem Freund.
1. in Lotus Script wird ein \ nicht als \\ bezeichnet. Oder willst du es in ein Evaluate durchreichen ?
2. die ReplicaID ersetzt in den Ausdrücken immer komplett SERVER:DATABASE und wird nicht in eckige Klammern gefaßt. Und ein @DBColumn wird am Ende auch mit einer Klammer geschlossen, also statt
col="@DbColumn("""":""NoCache""; ""ds-01"":""[C12571A2:0046C919]""; ""(Lookup Nr)""; 1
sollte es heißen
col="@DbColumn("""":""NoCache""; ""C12571A2:0046C919""; ""(Lookup Nr)""; 1)"
Und noch besser ist es, wenn du die doppelten Anführungszeichen wegläßt und es so formulierst:
col={@DbColumn("":"NoCache"; "C12571A2:0046C919"; "(Lookup Nr)"; 1)}
Das erhöht die Lesbarkeit erheblich.
-
Hallo,
da bin ich wieder. Habe jetzt die Rechte auf 777 gesetzt. Fehler immer
noch da. Wo kann ich nachschauen was die Meldung "Operation failed"
heisst ? Wird das was protokoliert.
Gruß bo