首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> Java 程式設計 >> Java 相關知識

Java 遠端存取 Domino 資料庫完整實作指南(CORBA/DIIOP 架構)

     編輯:Java 相關知識

背景與動機

Lotus Domino/Notes 是廣泛採用的跨平台文件型資料庫與郵件系統,而 Java/J2EE 則是企業級開發主流技術。兩者整合時,Java 遠端存取 Domino 資料庫成為常見需求。本文基於 Domino 5.0.9 實戰經驗,梳理 CORBA/DIIOP 架構下的完整配置流程,並釐清網路上常見的錯誤觀念。

核心配置七步驟

1. 安全性設定:授權 Java/CORBA 執行權限

開啟 Domino Administrator → 設定 → 伺服器文件 → 「安全性」分頁 → 「Java/COM 誰可以」區塊,分別在「執行有限制的 Java/Javascript/COM」與「執行無限制的 Java/Javascript/COM」填入連線使用者或其所屬群組。

2. 使用者必須擁有 Internet 地址與密碼

缺少 Internet 地址/密碼會導致只有管理員能連線,一般使用者連線失敗且無明確錯誤提示。註冊時勾選「進階選項」→ 填寫網域(自動產生 Internet 地址)→ 勾選「設定 Internet 密碼」。現有使用者可編輯註冊資訊補齊。

3. 確認 notes.ini 已載入 DIIOP 服務

檢查 ServerTasks 列表中包含 DIIOP,例如:
ServerTasks=Update,Replica,Router,AMgr,AdminP,CalConn,Sched,DIIOP,HTTP,LDAP

4. 其他預設配置與重啟

使用者對伺服器的存取權限、DIIOP 連接埠等採預設值即可。完成上述設定後必須重啟 Domino 伺服器。

5. 複製 NSCO.jar 至 Java 專案

路徑:Domino主目錄/data/domino/Java/NSCO.jar,加入專案建置路徑或 CLASSPATH。

6. 取得 diiop_ior.txt(CORBA 識別資訊)

路徑:Domino主目錄/data/domino/Html/diiop_ior.txt。可複製至本地,或開放 Domino HTTP 服務讓用戶端下載。

7. 撰寫測試連線程式

import lotus.domino.*;
import java.io.*;

public class Test {
    public static void main(String args[]) {
        Session session;
        String ior;
        String dominoURL = "11.68.81.27";
        String username = "username";
        String password = "passWord";
        try {
            // 嘗試讀取本地 ior 檔
            try {
                BufferedReader iorin = new BufferedReader(new FileReader("diiop_ior.txt"));
                ior = iorin.readLine();
                iorin.close();
            } catch (IOException e) { ior = null; }
            // 本地無檔則透過 HTTP 下載
            if (ior == null) ior = NotesFactory.getIOR(dominoURL);
            session = NotesFactory.createSessionWithIOR(ior, username, password);
            System.out.println(session); // 列印成功即連線正常
        } catch (NotesException ex) {
            System.out.println(ex.getClass().getName() + ":" + ex.id);
        }
    }
}

四大常見誤區澄清

  1. 必須開放 HTTP 服務? 錯誤。若已手動複製 diiop_ior.txt,HTTP 服務非必要;啟動 HTTP 僅為下載該檔案。
  2. 必須允許 HTTP 客戶瀏覽資料庫? 錯誤。HTTP 僅用於下載 IOR 檔,不涉及資料庫瀏覽權限。
  3. 需在 notes.ini 設定 ALLOW_NOTES_PACKAGE_APPLETS=1? 不必要。
  4. 需根據 IDL 自建 CORBA 庫? 不需要。遠端存取只需 NSCO.jar;本地存取只需 notes.jar。

結語

掌握正確配置流程與避開常見誤區,能讓 Java 與 Domino 整合更順暢、穩定。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved