Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people, just like you, are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions

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.
Announcing the Most Valuable Experts of 2016

MVEs are more concerned with the satisfaction of those they help than with the considerable points they can earn. They are the types of people you feel privileged to call colleagues. Join us in honoring this amazing group of Experts.


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

Free Tool: Path Explorer

An intuitive utility to help find the CSS path to UI elements on a webpage. These paths are used frequently in a variety of front-end development and QA automation tasks.

One of a set of tools we're offering as a way of saying thank you for being a part of the community.

Question has a verified solution.

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

Suggested Solutions

Title # Comments Views Activity
DAOS - Backup / Restore 2 194
LOtusscript Scheduled Agent access to calendar  fails to get entries on 4 152
IBM Domino web server 5 69
Code for extraction to mkdir folder 5 73
IBM Notes offer Encryption feature using which the user can secure its NSF emails or entire database easily. In this section we will discuss about the process to Encrypt Incoming and Outgoing Mails in depth.
This article covers general Notes 8.5 troubleshooting information including recreating the Notes\Data folder.
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…

838 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