Accessing data within a Lotus Notes NSF file using C#

Posted on 2008-10-09
Last Modified: 2013-12-18
Hi experts,

I'm after a light weight solution that will allow me to access an NSF database using .Net.  By light weight I mean not having to install the full Lotus Notes Client.  I realise this might be a bit of a stretch but I'd at least like to try and establish a list of the dlls that are required.

In terms of functionality I only need to get an item count and possibly iterate all items and get the attachment count as well.  I can see how to do this in the Lotus Notes C++ API.

My main question is which API should I be using?  Is there a set of COM dll's available that I can use through .Net?  Has anyone successfully connected to an NSF through C#?  Are there any code samples available?

Question by:hdkelly
  • 4
  • 3
LVL 46

Expert Comment

by:Sjef Bosman
ID: 22676893
IMHO: forget it, if you try this with a local Notes database.

If you connect to a server, you can use Java, via DIIOP you can connect to the Domino server.

Alternative: don't open the database but use HTTP to open the database.

Author Comment

ID: 22677226
OK, it seems that the Domino Object Model (domino.dll) is the accept method of COM communication.  I have prototyped a solution using this API that meets my needs.

My question is can I get this prototype to work on a machine without the Notes client installed?  Furthermore, is there anyway to access an NSF database without having the client installed?  I'd like to hope there is as I don't want to distribute the client with my solution.
LVL 46

Expert Comment

by:Sjef Bosman
ID: 22677319
> ... can I get this prototype to work on a machine without the Notes client installed?  

> Furthermore, is there anyway to access an NSF database without having the client installed?

a) Java, DIIOP, Domino server.

But, by all means, wait for others for their opinion.
Efficient way to get backups off site to Azure

This user guide provides instructions on how to deploy and configure both a StoneFly Scale Out NAS Enterprise Cloud Drive virtual machine and Veeam Cloud Connect in the Microsoft Azure Cloud.


Author Comment

ID: 22677390
I'm beginning to accept that you are right.

As a last gasp attempt, is there a subset of required files that can be isolated from the Notes Client install and distributed\registered manually?  Or does domino.dll rely on a whole heap of other configuration and registry settings?
LVL 46

Accepted Solution

Sjef Bosman earned 250 total points
ID: 22677621
AFAIK there are no settings in the registry (or very few). But there is a file notes.ini, which is used extensively for settings and other parameters. I understand your question, it seems valid, but you should also know that the majority of Notes environments really value its impenetrability. What you're trying to do violates at least one but maybe more of the security principles of  Notes.

Anyway, if you want to interact with a Notes database, you are de facto a user, and therefore are required to have a user licence, which is the price of a Notes client. You could say that the Notes client is free, but to use it costs you a user licence.

So, in fact, it is up to your end-user to acquire a Notes client and take care of the licensing issues. All you should do is make sure your solution works together with a Notes client. Using COM is one solution, apparently you managed to use it in your application already.

Honestly, I never tried a minimal installation, it might even be fun. And it might even work, although I don't know how Notes would ask for the password that comes with the id-file you allways need. In any case,  if you copy those files to PC other than the one you installed them on I'd say you'd be violating the copyrights of Lotus Notes...

Author Comment

ID: 22678509
Cheers for the response,

I would certainly expect to pay for a client license on each machine I interacted with an NSF on.  I am not trying to avoid this cost rather I am trying to streamline my deployment process.  And although it is heading that way, I would have preferred not to have a Notes Client install as a prerequesit for running my service.

I am interacting with individual NSF files removed from their native environment and network, so maintaining security in my workflow is not an issue.

I am aware of the importance and function of the notes.ini file.  I'm not prepared to experiment in order to find a skeleton install that works, as unfortunately I don't have the time.  If this is something you come across in the future please contact me.  Otherwise I appreciate your help, your advice has been valuable.

LVL 46

Expert Comment

by:Sjef Bosman
ID: 22678757
Thanks as well.

> I am interacting with individual NSF files removed
> from their native environment and network, so
> maintaining security in my workflow is not an issue.
It might not be an issue on your side, but on the side of the original owner of the NSF files! I for one wouldn't be too happy in discovering that you can fiddle with my mail database... ;-))
But you're right when you say that I should have used encryption if I want my data secure. To rely only on Notes' built-in access rights is not enough.

Featured Post

ScreenConnect 6.0 Free Trial

Explore all the enhancements in one game-changing release, ScreenConnect 6.0, based on partner feedback. New features include a redesigned UI, app configurations and chat acknowledgement to improve customer engagement!

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Suggested Solutions

For Desktop Techs: How to retain a user's Notes configuration data when swapping out the end user's computer. (Assuming that you are not upgrading to a completely different version of Notes client) All you need to do is: 1) install Notes o…
This article covers general Notes 8.5 troubleshooting information including recreating the Notes\Data folder.
Windows 10 is mostly good. However the one thing that annoys me is how many clicks you have to do to dial a VPN connection. You have to go to settings from the start menu, (2 clicks), Network and Internet (1 click), Click VPN (another click) then fi…
Established in 1997, Technology Architects has become one of the most reputable technology solutions companies in the country. TA have been providing businesses with cost effective state-of-the-art solutions and unparalleled service that is designed…

773 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question