首页 > 开发 > Java > 正文

Java远程访问Domino数据库

2024-07-14 08:44:00
字体:
来源:转载
供稿:网友
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);
  }
  }}

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表