Lotus Domino/Notes是目前很流行的、跨平台的文档数据库系统和电子邮件系统,而Java和J2EE技术也是目前广泛使用的开发技术,因此在很多场合,不可避免地要涉及到Java远程访问Domino数据库的问题。

Java远程访问Domino数据库推荐采用CORBA实现,但配置非常关键,笔者在工作中也遇到了这个问题,在查阅资料的过程中发现,很多文章明显存在一些误区或者说没有写清楚的地方,现将笔者的实践经验总结出来,和大家分享。笔者的Domino服务器版本是5.0.9。

基本步骤

1.修改Domino服务器安全性配置,允许你的用户运行Java/CORBA。具体操作是: 打开Lotus Domino Administrator,进入配置,打开当前服务器文档,选择“安全性”选项卡,在右下角“Java/COM 谁可以-”栏中,分别在“运行有限制的Java/Javascript/COM”和“运行无限制的Java/Javascript/COM”两项中填上你的连接用户名或用户所在组。

2.给你的用户加上Internet地址和口令。如果你的用户没有Internet地址和口令,那么只有Domino的管理用户才可以连接,其他普通用户是连不上的,而且也没有具体的提示。笔者曾在这个地方浪费了一天的时间。

注册个人时,点击高级选项,填写Internet网络域(Internet地址会自动生成,如myname@workgroup),同时选中“设置Internet口令”,以后将用这个Internet口令来建立会话。如果是已经注册的用户,则可以通过编辑注册信息来修改。

3.打开notes.ini文件,确认加载了DIIOP服务。检查notes.ini文件中的类似这样一行:

ServerTasks=Update,Replica,Router,AMgr, AdminP,CalConn,Sched,DIIOP,HTTP,LDAP

4.还有其他配置,如用户对Server的访问权限、DIIOP端口设置等,这些启用Domino服务器的缺省配置即可。配置完了需要重启Domino服务器。

5.将Domino服务器主目录下的data/domino/Java/NSCO.jar文件拷入Java工作环境,并在工程的构建路径中加入,或者在classpath环境变量中加入。

6.将Domino服务器主目录下的data/domino/html/diiop_ior.txt(CORBA访问的识别信息)拷入你的Java工作环境,或者开放Domino服务器的HTTP服务。

7.现在可以编写连接程序进行测试了:

import lotus.domino.*;

import Java.io.*;

class Test {

public static void main(String args[]) {

Session session;

String ior;

String dominoURL="11.68.81.27"; //DOMINO服务器的。lP地址

String username="username"; //用户ID

String password="password"; //用户的internet口令

try {

//如果已将ior文件拷到本地,则直接读ior文件

try {

BufferedReader iorin=

new BufferedReader(new FileReader("diiop_ior.txt"));

ior=iorin.readLine();

iorin.close();

} catch (IOException e) {

ior=null;

}

//如果读不到diiop_ior.txt文件,则需要通过网络从服务器下载这个文件

//这需要domino服务器开放http服务

if(ior==null) ior =NotesFactory.getIOR(dominoURL);//下载IOR

session = NotesFactory.createSessionWithIOR(ior,username,password);

System.out.println(session); //如果这一行打印出来了,表示连接成功

} catch (NotesException ex) {

System.out.println(ex.getClass().getName()+":"+ex.id);

}

}}

需要澄清的几个误区

下面是一些相关技术文章中的几个误区或没有写清楚的地方:

1.必须开放Domino服务器的HTTP服务。

甚至连Lotus domino designer的帮助文档都是这么说,其实不然,如果你直接将DIIOP_IOR.txt文件从Domino服务器拷贝过来了,HTTP服务就不必要启动。启动HTTP服务的惟一目的就是下载这个文件。

2.必须要在Domino服务器配置中允许 HTTP 客户浏览数据库。

这个是完全不必要的,上面已经讲了,开放HTTP服务仅仅是下载diiop_ior.txt文件,并不需要浏览数据库。

3.有些文章称,确保设计者的机器上Notes.ini文件中含有以下行: ALLOW_NOTES_PACKAGE_APPLETS=1。其实,这个是不必要的。

4. 有些文章提到要根据IDL文件创建自己的CORBA库,这样也没必要。对于远程访问,只需将data/domino/Java/NSCO.jar拷贝过去; 对于本地访问,只需将Domino目录下的notes.jar文件加到clIasspath中即可

java 访问 domino_Java远程访问Domino数据库相关推荐

  1. java访问domino数据库_怎样实现Java远程访问Domino数据库

    Java远程访问Domino数据库推荐采用CORBA实现,但配置非常关键,笔者在工作中也遇到了这个问题,在查阅资料的过程中发现,很多文章明显存在一些误区或者说没有写清楚的地方,现将笔者的实践经验总结出 ...

  2. java 访问 domino_java程序远程访问Domino数据库简例

    ort lotus.domino.Session; import lotus.domino.View; /** * @author Kenny * example:java程序远程访问Domino服务 ...

  3. java访问domino数据库_关于Java与Domino数据库之间的操作

    关于Java与Domino数据库之间的操作 如果想使用Domino作为开发的DB,必须在Domino服务器端手动配置以下信息. 首先,我们需要使用DIIOP(具体是什么还不太清楚,暂时可以理解成用于运 ...

  4. [Domino]Java访问Domino必需配置的服务器设置

    [Domino]Java访问Domino必需配置的服务器设置 编写者<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com ...

  5. Oracle字符串转BooIean,利用Java的多线程技术实现数据库的访问.pdf

    利用Java的多线程技术实现数据库的访问.pdf 第 卷第 期 计算机应用 22 12 Voi .22 , No . 12 年 月 2002 12 Computer Appiications Dec ...

  6. Java 8 Friday:Java 8将彻底改变数据库访问

    在Data Geekery ,我们喜欢Java. 而且,由于我们真的很喜欢jOOQ的流畅的API和查询DSL ,我们对Java 8将为我们的生态系统带来什么感到非常兴奋. 对于Java 8系列 ,我们 ...

  7. 通过Java访问数据库---JDBC

    一.JDBC概述 JDBC(Java Data Base Connectivity,java数据库连接)是一种用于执行SQL语句的Java API,可以为多种关系数据库提供统一访问,它由一组用Java ...

  8. MySql数据库记录相差14小时排错,使用Java访问Mysql数据库时出现时区异常的解决方案

    最近遇到1个大坑,A系统迁移到B系统,2边系统 同1个字段 createTime 看到的不一致. 表象: A系统: 2019-6-10 17:34 B系统: 2019-6-11 .... 再次尝试: ...

  9. java访问数据库的中间件有哪些_数据库中间件是什么?

    面向数据库的中间件是促进与数据库通信的中间件,无论是来自应用程序还是数据库之间. 开发人员通常使用面向数据库的中间件作为从本地或远程数据库提取信息的机制. 例如,为了从Oracle数据库提取信息,开发 ...

最新文章

  1. 【深度学习】深度学习手写代码汇总(建议收藏,面试用)
  2. node中间件mysql_nodejs 中使用mysql数据有没有类似 mongoose 的中间件?
  3. js获取ip地址_(原创)Node.JS实战31:大名鼎鼎的Express!
  4. java-抽象类和接口对区别
  5. 匹配指定内容的div_HTML背景色教程–如何更改Div背景色,并通过代码示例进行了说明...
  6. 30岁软件测试转产品_30岁的我脸上竟然出现皱纹了,求推荐抗衰老产品,最好是国外的...
  7. Html5 meta 笔记
  8. Dijkstra算法【模板】
  9. ps格式文件如何打开
  10. 微信管理工具用什么比较好呀
  11. Linux学习_系统文件IO
  12. 财会法规与职业道德【5】
  13. 国产银河数学式电子计算机是属于,《世界上公认的第一台电子计算机.doc
  14. 安装ROS中出现bash: /opt/ros/melodic/setup.bash: 没有那个文件或目录或者bash: /opt/ros/kinetic/setup.bash:的解决办法
  15. 昨天晚上看了冰川时代三
  16. 多种固定资产盘点方式应对年终固定资产大盘点
  17. 【转】Java方向如何准备BAT技术面试答案(汇总版)
  18. Packet Tracer 5.0建构CCNA实验攻略——帧中继Frame Relay
  19. 汉威危化品安全风险监测预警平台 助力企业摆脱新旧领域风险
  20. 乔迁之喜!泛微软件园启用,欢迎新老朋友来坐坐

热门文章

  1. java图形界面(七)---组件综合练习
  2. 优质的水泵 SolidWorks模型素材推荐,不容错过
  3. html.dropdownlist 样式,Html.DropDownList
  4. layUI 之 layui.upload ie8、9 无法获取 response
  5. 入门应该如何学习Linux
  6. 童年经典回忆 | 从零开始带大家用Python撸一个魔塔小游戏呀(3)
  7. Unity把Texture2D复制到坐标点击处的Texture2D
  8. 优思学院|《ASQ注册质量工程师CQE手册》第五版 2022
  9. OpenJudge noi1805碎纸机
  10. 2022年注册会计师(CPA)经济法考试模拟试题卷及答案