Lotus Domino是当今办公自动化系统的主流开发平台之一,Domino自带一个非关系型数据库——文档型数据库,而目前大部分企业的信息都储存在诸如SQL Server等关系型数据库中,因此,在开发办公自动化系统过程中势必要涉及Domino和关系数据库的数据交换问题。下面介绍一些润乾报表从domino数据库取数的方法。主要分两种方式: 一:JDBC方式 1、需要的环境: 在连接前必须安装: a.Sun JDK 1.1.6或是更高的版本,并设置JVM的环境。 b.Lotus Domino Server 4.6 或是更高的版本。 c.Lotus Domino Driver for JDBC 1.1 。 2、连接程序编写: a.必须将包 lotus.jdbc.domino.* 包含在程序开头。例:import lotus.jdbc.domino.* b.调出Domino的驱动程序。例:Class.forName(lotus.jdbc.domino.DominoDriver); 注意捕捉ClassNotFoundException异常。 c.给出JDBC URL。例:url=jdbc:domino:/DatabaseName.nsf/ServerName 解释为jdbc:domino:为JDBC URL连接协议的固定字,DatabaseName.nsf 为Domino数据库文件名,ServerName为Domino服务器名。假设连接服务器名为Webserver上的names.nsf , url=jdbc:domino:/names.nsf/webserver ;假设连接服务器名为Webserver,office目录下的job.nsf , url=jdbc:domino:/officejob.nsf/webserver ;设置连接超时100秒,url=jdbc:domino:/simpler.nsf;threadtimeout=100 。 d. 建立连接。Connection con = DriverManager.getConnection(String JDBCURL); 3、部分连接例程: import java.sql.*; import lotus.jdbc.domino.*; public class example{ public static void main (String[] args) { Connection con=null; Statement stmt=null; ResultSet rs=null; String sql= SELECT * FROM Person; String connStr = jdbc:domino:/names.nsf/webserver/weboa; Class.forName(lotus.jdbc.domino.DominoDriver); con = DriverManager.getConnection(connStr); stmt = con.createStatement(); rs = stmt.executeQuery(sql); ... .. }} 4、在润乾自定义数据集中,只需要将该连接例程获得的结果集转化为DATESET二维数组即可。 注意:1:客户端要装lotus客户端lotus notes,保证能正常连接 2:将jdbc驱动放置到数据库端Lotus\Notes\jvm\lib\ext下,重启数据库 二:ODBC方式 虽然能用JDBC方式连接domino数据库,但是IBM后来又对这种方式抛弃掉了。所以Notes6以后多是通过IBM提供的ODBC驱动来连接Domino/Notes数据库的。 下面是在润乾报表中使用ODBC连接Domino/Notes数据库的步骤。 1. 安装NotesSQL,并使用Authentication List Manager来配置到数据库服务器的ODBC授权。 下载NotesSQL安装包,并安装完成。Authentication List Manager配置页面如下: 2. 配置WINDOWS系统Domino/Notes ODBC数据源。 3. 在润乾报表设计器中配置Domino/Notes ODBC数据源。 |