我正在尝试在我的服务器上获取所有数据库。但是在getDbDirectory()
参数中将我的服务器名称指定为 NALLN304 / 40 / LLN / IBM 会给我一个错误。
目录NALLN304 / 40 / LLN / IBM !!不存在
它总是在末尾添加两个感叹号。我还尝试在邮件文件末尾添加 .nsf 格式的服务器名称和邮件文件。 NALLN304/40/LLN/IBM!!data0\126\1000031540.nsf
也给了我同样的错误。
下面的Snipper代码:
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文件,即使我指定了文件格式。我收到此错误的原因是什么?
答案 0 :(得分:1)
您的问题是您的ID未通过服务器进行身份验证。你需要从这一行获取输出:
System.out.println("User = " + session.getUserName());
将它带到您的服务器管理员,询问为什么不允许它访问服务器,并要求他们通过授予必要的权限或为您提供另一个可以使用的ID来帮助您。