Link to home
Start Free TrialLog in
Avatar of hdkelly
hdkelly

asked on

Accessing data within a Lotus Notes NSF file using C#

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?

Cheers!
Avatar of Sjef Bosman
Sjef Bosman
Flag of France image

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.
Avatar of hdkelly
hdkelly

ASKER

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.
> ... can I get this prototype to work on a machine without the Notes client installed?  
No.

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

a) Java, DIIOP, Domino server.
b) HTTP

But, by all means, wait for others for their opinion.
Avatar of hdkelly

ASKER

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?
ASKER CERTIFIED SOLUTION
Avatar of Sjef Bosman
Sjef Bosman
Flag of France image

Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
Avatar of hdkelly

ASKER

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.

Thanks.
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.