`
clarancepeng
  • 浏览: 189806 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

编程实现notes domino数据库的访问

阅读更多

1. 很多人都使用过notes, 它是一种常用的办公软件, 但是并没有很多用过它的服务端--domino服务器(可认为它是已一个数据库服务器),用notes做OA
   的人可能接触会多一点
2. notes常用套件(Lotus Domino Server, Domino Admin, Domino Designer, Lotus Notes), Lotus Domino Server(Domino服务器), Domino Admin(Domino管理工具)
3. NotesSQL(它是一个基于ODBC的数据库连接, 用它意味着可以直接读取domino数据库的数据, 去年年底有更新)
4. LoutsScript(LotusScript Extension for Lotus Domino Connectors (LSX LC), 一种类似VB的语法, 可以读取nsf文件的内容, 不过好像最近一个版本是01年出来的)
5. LDDJ driver(Louts jdbc驱动), 不过IBM现在已经把它废了, 因为它是notessql的上面的一个封装, 没有实现jdbc的平台独立
6. 一个notessql的例子(使用jdbc-odbc桥连接)

java 代码
  1. package com.gemt.dataswap.dao;   
  2.   
  3. import java.sql.Connection;   
  4. import java.sql.DriverManager;   
  5. import java.sql.ResultSet;   
  6. import java.sql.SQLException;   
  7. import java.sql.Statement;   
  8.   
  9. public class DominoConnectionFactory {   
  10.   
  11.     public DominoConnectionFactory() {   
  12.         // TODO Auto-generated constructor stub   
  13.     }   
  14.   
  15.     /**  
  16.      * @param args  
  17.      */  
  18.     public static void main(String[] args) {   
  19.         // TODO Auto-generated method stub   
  20.         try {   
  21.             Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");   
  22.             /*  
  23.             String url="jdbc:odbc:claranceds";  // NotesDB is ODBC system source name  
  24.             String user="clarance peng/geo";  
  25.             String pass="pqsxbl";   
  26.             Connection con = DriverManager.getConnection(url,user,pass); //R1  
  27.             Statement stmt = con.createStatement();//R1  
  28.               
  29.             //Person  
  30.             //Memo  
  31.             //$$ViewTemplate for ($All)  
  32.             //$$ViewTemplate for ($Inbox)  
  33.             //JunkMail  
  34.               
  35.             ResultSet rs = stmt.executeQuery("SELECT * FROM  Rules ");  
  36.             */  
  37.                
  38.             String url="jdbc:odbc:notessqlds";  // NotesDB is ODBC system source name   
  39.             //String user="clarance peng/geo";   
  40.             //String pass="pqsxbl";    
  41.             Connection con = DriverManager.getConnection(url); //R1   
  42.             Statement stmt = con.createStatement();   
  43.             ResultSet rs = stmt.executeQuery("SELECT * FROM   How ");   
  44.                
  45.             //ResultSet rs = stmt.executeQuery("SELECT *  FROM MainTopic, Response  WHERE MainTopic.DateComposed=Response.DateComposed AND MainTopic.Subject=Response.Subject ");   
  46.             while(rs.next()) {   
  47.                 for(int i = 1; i <= rs.getMetaData().getColumnCount(); i++) {   
  48.                     System.out.print(" " + rs.getObject(i));   
  49.                 }   
  50.                 System.out.println();   
  51.                 //System.out.println(" " + rs.getObject(1));   
  52.             }   
  53.                
  54.             if(rs != null)    
  55.                 rs.close();   
  56.             if(stmt != null)   
  57.                 stmt.close();   
  58.             if(con != null)   
  59.                 con.close();   
  60.         } catch (ClassNotFoundException e) {   
  61.             // TODO Auto-generated catch block   
  62.             e.printStackTrace();   
  63.         } catch (SQLException ex) {   
  64.             // TODO Auto-generated catch block   
  65.             ex.printStackTrace();   
  66.         }   
  67.            
  68.   
  69.     }   
  70.   
  71. }   

7. 其它参考文件, 请看附件

分享到:
评论
4 楼 yclc 2007-10-25  
哦,那基于Lotus的自己的类库是比较容易
那你用的OpenORB还是JacORB?
感觉没NotesSQL的速度快,建立连接是相当的花时间
3 楼 clarancepeng 2007-10-23  
我现在都是用 diiop来完成这件事情了,当然也可以使用java Agent,那样取附件是很容易的
2 楼 yclc 2007-10-23  
怎么访问收件箱啊?
select * from $Inbox
访问不到啊
还有如何访问附件呢?(NOTESSQL)
1 楼 yclc 2007-10-23  
请问如何访问收件箱啊?
我用select * from $Inbox
报错,说没有这个表,notessql怎么访问视图啊?按SQL一般的道理,视图应该和表的SQL应该是一样的啊

还有,请问下,NOTESSQL怎么取邮件的附件啊?

相关推荐

    Lotus.Domino.Web编程

    1.2.1 Domino与传统数据库的区别 1 1.2.2 Domino和Web 2 1.3 开发部件 2 1.4 其他工具 3 1.5 简单的Domino Web软件例子 10 参考信息 14 本章小结 14 第2章 使用表单 16 2.1 关于表单 16 2.2 在表单中使用公式 17 ...

    Domino 技术文档,chm格式电子阅读版.rar

    Domino 技术文档,chm格式电子阅读版,介绍一些基础知识,开发经验总结、lotus notes常用代码、给Notes数据库实现注册码功能、Notes与Office的接口、开发基于Domino/Notes的动态Web网站、PowerBuilder访问Lotus ...

    利用LotusNotesAPI提高自动化测试效率

    本文将介绍并举例说明如何利用Notes/Domino提供的C++/Java两种API进行编程,来完成在自动化测试中对Notes/Domino数据库的操作,以提高自动化测试的效率,节约测试成本。自动化测试可以很大程度的减少人工参与的工作...

    Lotus Domino WEB详细 学习笔记

    32. 用PowerBuilder访问Lotus Notes数据库 55 33. 如何在表单中加入计数器 58 34. 实现两个数据库间的数据追加 C/S 结构 60 35. 如何防止他人使用旧id和旧口令访问Domino服务器? 61 36. 在你的WEB站点...

    Lotus script技巧

    LotusScript 是完全面向对象的编程语言。它通过预定义的类与 Domino 接口。Domino 监控用户代码的编译和加载,并且自动包含 Domino 的类定义。  访问现有的对象最好使用 LotusScript,例如:根据其他文档的值来更改...

    某校园网络规划设计方案.docx

    该产品可以和Domino的群件服务器无缝相结合并内嵌到Notes的数据库中,可防止病毒入侵到LotueNotes的数据库及电子邮件,实时扫描并清除隐藏于数据库及信件附件中的病毒。可通过任何Notes工作站或Web界面远程控管防毒...

    校园网网络安全设计方案.doc

    该产品可以和Domino的群件服务器无缝相结合并内嵌到Notes的数据库中,可防 止病毒入侵到LotueNotes的数据库及电子邮件,实时扫描并清除隐藏于数据库及信件附 件中的病毒。可通过任何Notes工作站或Web界面远程控管...

    网络安全技术课程设计.doc

    该产品可以和Domino的群件服务器无缝相结合并内嵌到Notes的数据库中,可防 止病毒入侵到LotueNotes的数据库及电子邮件,实时扫描并清除隐藏于数据库及信件附 件中的病毒。可通过任何Notes工作站或Web界面远程控管...

    网络安全技术课程设计(1).doc

    该产品可以和Domino的群件服务器无缝相结合并内嵌到Notes的数据库中,可防 止病毒入侵到LotueNotes的数据库及电子邮件,实时扫描并清除隐藏于数据库及信件附 件中的病毒。可通过任何Notes工作站或Web界面远程控管...

    Log4LS-开源

    Log4LS是LotusScript语言的可配置和可编程日志记录软件包,它是Lotus Domino / Lotus Notes的一部分。 日志条目可以定向到数据库,文件和邮件。

    Xpage学习笔记

    XPAGE学习笔记 1 Theme 2 2 在Xpage中使用Dojo 2 2.1 加载dojo.js 2 2.2 设置应用程序主题引入tundra.css 2 ...这样访问或设置节点的所有属性 node.innerHTML = “” node.value=”” var id = node.id var style = ...

Global site tag (gtag.js) - Google Analytics