报表知识库
我要提问

润乾连接domino数据库方法

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 ;假设连接服务器名为Webserveroffice目录下的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数据源。