目录不存在(Lotus Notes)
问题描述:
我试图让我的服务器上的所有数据库。但在getDbDirectory()
参数中指定我的服务器名称为NALLN304/40/LLN/IBM给我一个错误。目录不存在(Lotus Notes)
目录NALLN304/40/LLN/IBM!不存在
它总是在最后加两个感叹号。我也尝试在服务器名称和邮件文件的末尾添加.nsf格式。 NALLN304/40/LLN/IBM!!data0\126\1000031540.nsf
也给我同样的错误。
剪断下面的代码:
Session session = null;
Database db = null;
DbDirectory dir = null;
try
{
NotesThread.sinitThread();
session = NotesFactory.createSession();
System.out.println("User = " + session.getUserName());
dir = session.getDbDirectory("NALLN304/40/LLN/IBM");
System.out.println(dir.getName());
db = dir.getFirstDatabase(DbDirectory.DATABASE);
do
{
System.out.println("Title: " +db.getTitle());
}
while(dir.getNextDatabase() != null);
}
catch(NotesException ex)
{
ex.printStackTrace();
}
错误总是指出的db = dir.getFirstDatabase(DbDirectory.DATABASE);
因为dir.getFirstDatabase(DbDirectory.DATABASE)
预期。NSF文件,即使我指定的文件格式。任何我为什么得到这个错误的原因?
答
你的问题是你的ID没有通过服务器进行验证。你需要采取的输出从这一行:
System.out.println("User = " + session.getUserName());
并把它带到你的服务器管理员,问为什么它没有被允许访问该服务器,并要求他们要么通过授予必要的权限,以协助您或通过给你另一个你可以使用的ID。
+0
我收到我的用户名。但服务器和文件不会进行身份验证。我将尝试联系我的管理员以便能够在Lotus Notes中获取我的所有数据库。 – Francisunoxx
此代码是如何运行的?作为代理?一个独立的Java程序?你使用的是Notes.jar还是NCSO.jar?你是否证实你有权访问服务器? (也就是说,如果你尝试session.getDatabase(“NALLN304/40/LLN/IBM”,“Names.nsf”)会发生什么? –
嗨!@RichardSchwartz我在独立的Java程序中使用Notes.jar来运行它。我尝试使用'database.isOpen()'方法验证访问,但它不会对我进行身份验证,但是如果我使用了我的Workspace的服务器和文件地址,它确实可以正常工作。 – Francisunoxx
我对某些事情不清楚:你尝试通过dir.getFirstDatabase()检索的数据库对象上的database.isOpen()?或者你尝试了我的建议,检查会发生什么,如果你执行session.getDatabase(“NALLN304/40/LLN/IBM”,“Names .nsf“,以查看是否有权访问服务器? –