Domino 9 und frühere Versionen > Administration & Userprobleme
Database <Server>!!´<Path> has not been opened yet
mahonri:
Erhalte obige Fehlermeldung mit großer Häufigkeit, beim Öffnen einer Datenbank.
Dies greift in ihrem DatenbankScript auf eine andere Datenbank zu, was den Fehler auslöst.
Die Datenbank erscheint im Script als not open.
Üblicherweise handelt es sich dabei um einen nicht aufgebauten Index in der Ziel-Datenbank, und das Problem hat sich erledigt, wenn die Zieldatenbank das erste mal geöffnet wurde.
Nicht so hier. Den ersten am morgen beißen die Hunde, und auch manchmal am Nachmittag den nächsten.
In meiner TEstumgebung tritt das Problem nicht auf, aber bei meinen Kunden auf dem Testsystem und dem Produktiv-System.
Updall Läuft nachts ohne Fehler
Update läuft und ist auch mal Idle, also nicht überlastet.
Die Ansichten verwerfen Ihre Indexe nicht und lassen sich automatisch aktualisieren.
Bin für Anregungen offen, was man noch prüfen kann.
Lossa:
Hi mahonri,
wird in deinem Script die db definitiv geöffnet?
Script-Code bla bla
.
.
.
If Not(db.IsOpen) Then Call db.open("","")
.
.
.
Script-Code bla bla
Mit dieser Zeile wird geprüft ob die Datenbank offen ist, und wenn nicht, dann wird sie geöffnet.
Dann sollte es immer klappen.
Ansonten schick mal dein Script.
mahonri:
Function SetExternalDBProfile (pdoc As Notesdocument, path As String, db As notesdatabase)
Dim session As New notessession
Dim view As notesview
Dim confdoc As notesdocument
Dim codesdb As notesdatabase
Dim nitem As notesitem
Dim cfgKeys As Variant
Dim cfgvalues As Variant
Dim i As Integer
Dim z As Integer
Dim onlypath As String
Dim dbname As String
Redim gconfig(0) As String
Redim keys (0) As String
Redim values (0) As String
onlypath=PathToDB(db) 'Use Function to get the Path of the DB without the Filename
'Get CodesDB-Path and Store keyname and path
Set view = db.getview("vwConfig")
Call view.refresh
Set confdoc = view.getdocumentbykey("General*Path")
If confdoc Is Nothing Then
Msgbox "Konfigurationsdokument läßt sich nicht öffnen: General*Path"
End If
keys(0)=confdoc.CfgKeys(0)
values(0)=confdoc.CfgValues(0)
'When the path is a relative Path (~) use path of current DB
If Left( values(0) , 1 ) ="~" Then
values(0)=onlypath+Right(values(0), Len(values(0))-2)
End If
'Open CodesDB to get the other ConfigurationDocuments for the paths
Set codesdb =session.getdatabase( db.server, values(0))
If codesdb.isopen = False Then
Call codesDB.open("","")
End If
Set view = codesdb.getview("vwConfig") ''<---Hier krachts manchmal
Call view.refresh
Set confdoc = view.getdocumentbykey("General*Path")
If confdoc Is Nothing Then
Msgbox "Konfigurationsdokument läßt sich nicht öffnen: General*PathC"
End If
Lossa:
Hi,
Wenn es kracht, dann wäre Intressant, ob die Datenbank die angezogen wird, auch wirklich angezogen wird. Gemeinerweise ist es so, das wenn man versucht eine Datenbank anzusprechen die nicht exisitert, dann kann man alles machen auch db.open("","") und erst wenn eine View angesprochen wird, oder irgendwas anderes, dann knallt es, weil Domino ein Leeres DB-Objekt in db erstellt hat. Dies kannst du einfach prüfen, indem du z.B db.Title abfragst und der ist dann leer. Das ist ja bei einer vorhandenen Datenbank auf garkeinen Fall so. Wenn also db.Title leer ist, dann hast du eben die Datenbank nicht erwischt. Dann liegt der Fehler wo anders und du must dann nach dem Grund an einer anderen Stelle suchen.
Du prüfst z.B. nicht ob values(0) leer ist, also das Problem in der anderen Datenbank liegt, wo du den inhalt von values(0) kriegst.
Wenn noch Fragen offen sind, dann melde dich.
Semeaphoros:
So? Bist Du da so sicher, dass der db.title in gar keinem Fall leer ist? Schau mal Deine Bookmark.nsf an (lokal)
Navigation
[0] Themen-Index
[#] Nächste Seite
Zur normalen Ansicht wechseln