【发布时间】:2012-11-07 20:55:53
【问题描述】:
我正在尝试通过 C# 与 Notes 数据库(我的个人邮件文件)进行交互,但我被卡在门外,试图使用以下代码打开数据库:
string sNotesSourceFolder = "$Inbox";
string sUserName = "scady";
string sMailFile = @"NotesMail_FDrive\ARchives\" + sUserName + ".nsf";
string sServerName = @"Answers1/Answers";
string sPassword = "xxxxxx";
//Creating the notes session
NotesSession session = new NotesSession();
session.Initialize(sPassword);
NotesDatabase NotesDb = session.GetDatabase(sServerName, sMailFile, false);
//If the database is not already open then open it.
if (!NotesDb.IsOpen)
{
NotesDb.Open();
}
使用服务器名称和路径调用 session.GetDatabase(),nsf 文件返回 null,这显然意味着它无法打开数据库。
我在本地运行此代码,针对名为“Answers1/Answers”的 Notes 服务器。我现在正在考虑基于从 Notes 服务器,nsf 文件位于“NotesMail_FDrive\ARchives\xyz.nsf”的网络文件共享上。
【问题讨论】:
-
请注意,访问网络共享上的 NSF 是不受支持的配置。这意味着虽然它应该可以工作,但从未为此设置测试/构建过。
-
在与我们的 Notes 管理员交谈后,他解释说“需要一些工作”才能让 Domino 能够在网络文件共享上使用 nsfs,所以我现在想知道这是否是问题所在。邮件文件与 domino 服务器不在同一台机器上。有什么想法吗?
-
如果 Notes 客户端可以打开数据库,那么使用 Notes API 编写的程序应该能够使用客户端看到的完全相同的服务器名称和路径名打开数据库,只要您使用的是两次尝试使用相同的 ID 文件。试试做个实验怎么样?只需尝试打开 names.nsf 或位于服务器数据目录中您至少具有读取权限的任何其他数据库。如果失败,那么你有某种访问问题。
标签: com lotus-notes