怎样实现Java远程访问Domino数据库

运维 数据库运维
本文简单介绍了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文件中的类似这样一行:

 

  1. 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.现在可以编写连接程序进行测试了:

 

  1. import lotus.domino.*;  
  2.  
  3. import Java.io.*;  
  4.  
  5. class Test {  
  6.  
  7. public static void main(String args[]) {  
  8.  
  9. Session session;  
  10.  
  11. String ior;  
  12.  
  13. String dominoURL="11.68.81.27"; //DOMINO服务器的IP地址  
  14.  
  15. String username="username"; //用户ID  
  16.  
  17. String password="password"; //用户的internet口令  
  18.  
  19. try {  
  20.  
  21. //如果已将ior文件拷到本地,则直接读ior文件  
  22.  
  23. try {  
  24.  
  25. BufferedReader iorin=  
  26.  
  27. new BufferedReader(new FileReader("diiop_ior.txt"));  
  28.  
  29. ior=iorin.readLine();  
  30.  
  31. iorin.close();  
  32.  
  33. } catch (IOException e) {  
  34.  
  35. ior=null;  
  36.  
  37. }  
  38.  
  39. //如果读不到diiop_ior.txt文件,则需要通过网络从服务器下载这个文件  
  40.  
  41. //这需要domino服务器开放http服务  
  42.  
  43. if(ior==null) ior =NotesFactory.getIOR(dominoURL);//下载IOR  
  44.  
  45. session = NotesFactory.createSessionWithIOR(ior,username,password);  
  46.  
  47. System.out.println(session); //如果这一行打印出来了,表示连接成功  
  48.  
  49. } catch (NotesException ex) {  
  50.  
  51. System.out.println(ex.getClass().getName()+":"+ex.id);  
  52.  
  53. }  
  54.  
  55. }} 

 

需要注意的是:

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中即可。

【编辑推荐】

  1. 利用Sql Server将Excel中的数据导入Oracle
  2. 共享database独立Schema构建SAAS平台
  3. ASP通过Oracle Object for OLE对Oracle查询
  4. ORACLE数据库PL/SQL编程之把过程与函数说透
  5. 详解Discuz_WIN7_Apache_MySQL_PHP平台搭建
责任编辑:赵鹏 来源: IT168技术
相关推荐

2020-10-09 15:39:57

数据库工具技术

2011-07-15 13:47:00

TDP for DomLotus Domin

2009-08-28 15:16:32

C#实现对数据库访问

2011-07-15 14:15:33

Lotus Domin量备份选择性备份

2011-03-11 13:09:13

2011-03-07 17:35:09

JavaACCESS数据库

2011-07-18 09:12:49

远程访问VPNSSL VPNIPSec VPN

2009-06-19 18:57:03

ibmdwLotus

2023-11-30 07:15:57

MySQL数据库

2011-03-16 17:26:22

动态数据库

2013-11-26 09:47:47

ORM

2009-09-15 10:02:44

Linq to SQL

2009-07-02 09:35:02

hibernate访问

2011-03-03 11:07:57

Spring数据库访问ORM

2010-05-20 14:52:42

MySQL数据库

2014-03-27 11:47:51

Java 8数据库访问

2017-05-19 13:42:51

JavaSpring框架数据库

2011-08-02 17:06:29

Oracle远程数据库创建DB Link

2019-12-14 15:27:31

MySQL数据库访问控制

2010-06-01 13:58:24

远程连接MySQL
点赞
收藏

51CTO技术栈公众号