I have an agent that’s taking progressively longer, the more databases it touches through NotesDBDirectory.
I’m looping through all databases in NotesDBDirectory, and checking to see if the database is open, and if not, opening it before I get the various properties, log user activity and the ACL details.
I am creating a DB analysis document for every database on a number of servers (picked up from a profile document), and the longer this agent runs, the more it slows down.
I thought it was the user activity logging (in the Sandbox, needed a bit of tweaking if user activity isn’t logged - has to be told twice) that was slowing it down, but it seems it might be the fact of having so many databases open… we’re talking over 1,000 here.
Question: Do I have to open the database if I want to access a link to the database? I’ve seen in the Help (http://www-12.lotus.com/ldd/doc/lotusscript/lotusscript.nsf/1efb1287fc7c27388525642e0074f2b6/1f82ab14864680138525642e007687cb?OpenDocument mmm Notes URLs!) which properties I can access when theh db isn’t open, but I really want to put a link to the database in the analysis doc. Actually… I could probably put a button on the analysis doc that picks up the server and filepath, and opens from there. Probably easier eh? But then I’m still left with this:
b) Still can’t find a method to close a DB after it’s been opened, accessed and processed… sigh
This is from the above link:
A NotesDatabase retrieved from a NotesDbDirectory object is closed. The following properties are available on the closed database: FileName, FilePath, IsOpen, LastModified, Parent, ReplicaID, Server, Size, SizeQuota, Title. To access all the properties and methods of a database retrieved from a NotesDbDirectory, a script must explicitly open the database.
Personally it drives me nuts that you have different properties available depending on which method you use to access the database!
Cheers for any available insight and help,
Marion