我試圖讓我的服務器上的所有數據庫。但在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文件,即使我指定的文件格式。任何我爲什麼得到這個錯誤的原因?
此代碼是如何運行的?作爲代理?一個獨立的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「,以查看是否有權訪問服務器? –