转:http://bbs.chinaunix.net/viewthread.php?tid=661488
Java远程访问Domino数据库的配置非常重要,作者在此介绍了许多有价值的经验。
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服务器的IP地址
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文件加到classpath中即可。
分享到:
相关推荐
如何用java远程访问Domino邮箱数据 如何用java远程访问Domino邮箱数据 如何用java远程访问Domino邮箱数据
java访问domino的主要方法介绍,多种session的获取方式
用Java 操作Domino 数据库例子
java访问domino,通过http访问Domino,java快速访问Domino,java集成lotus domino 完全提供源码 界面请查阅 https://blog.csdn.net/weijia3624/article/details/113108704
Domino数据库浏览器是一个小工具,可以用来浏览Lotus Domino数据库文件中(或独立的NSF文件中)的所有文档数据,并将其导出。本软件非常适合于需要将老DOMINO上的信息和数据转移到新系统中的企业。借助于本工具,...
一个小工具,可以用来浏览NSF(Domino数据库)文件中的所有文档数据,并将其导出。可以浏览Domino服务器上的所有文档,也可以打开浏览独立的NSF文件。 V2.0版修正了打开某些库文件报错的问题,完善了导出功能,能够...
Lotus Domino 数据库ACL详解,Lotus Domino 数据库ACL详解Lotus Domino 数据库ACL详解
Lotus Domino数据浏览导出工具。可以连接Domino server服务器,也可以打开独立的NSF库文件。可以浏览和导出所有文档,可以分离导出其中的附件和RTF域中图片等信息。非常适合企业从旧的Lotus系统往新的信息系统转移...
domino数据库存取控制列表(acl)的各种使用权限管理
通过该文档,使得读者能够了解到使用LOTUS DOMINO应用开发,数据库性能受到影响时,如何来进行数据库性能调优
本软件可以恢复nsf的隐藏设计,各位可以下下来试试看。
用java访问domino对象,用java访问domino对象,用java访问domino对象
Domino 备份的脚本 ,修改一下里面的路径,新建一个定时任务,就可以每天晚上自动备份Domino 服务的Data目录了。 如果服务停止失败,则程序强制终止domino进程哦。尽量避免无效备份!
domino数据库的设计之域的创建,domino是IBM收购莲花公司之后新开发的domino6.5
介绍Domino数据库的ACL的知识
Java访问Domino的编程指南.doc
Domino中Java代理连接mysql数据库
基础DB实例参考 供基础者学习,应该有帮助的
lotus domino 数据库隐藏设计明细教程
domino数据库与关系型数据库的数据交互研究