5 Lotus Domino Driver for Java
5.1 功能简介 LDDJ是Type 2类型的JDBC Driver,符合JDBC1.0规范,在jdk1.1.8环境下开发的。它使得开发人员可以通过Java程序像访问关系数据库一样访问Domino/Notes数据库。
下表是Notes数据库中的对象和关系数据库中对象之间的对照关系。
SQL 对象
Domino/Notes对象
Table
Form或者Universal Relation
Column
Form Field或者View Column
Index
View
View
View
和关系数据库相比,它有如下一些限制:
字符串最长为15360
表名最长64个字符
列名、索引名、视图名最长32个字符
不支持回滚和两阶段提交
不支持 BIT,TINYINT,BIGINT
不支持 BINARY,VARBINARY,即不支持大对象的存取
不支持Primary Key,Foreign Key,Unique
不支持存储过程
同时,提供如下特殊的功能:
列值允许为多值(文本),可以存取,但不能通过JDBC创建这样的列
对于insert语句,域的缺省值、输入转换、输入校验依然有效
delete table时,不删除数据
提供一些内置域,例如NotesID、NotesForm、LastModified等
读者域对阅读范围的控制依然有效
和其他方式对Notes数据处理相比,又有如下不同:
不可以插入不在表单定义中的 field
文档中存在多个同名的域,只处理第一个(按创建先后次序)
如果视图名和表单名相同,只能访问表对象,无法访问视图对象
对于RTF域,只能处理文字部分内容,不能处理附件
单个域内容最多为15360字节 支持平台
Windows 98,NT 4.0,2000,XP
最新版本
v1.5,发布于2002.10.11
5.2 开发和使用
使用环境
LDDJ v1.5支持R5以上版本,可以直接连接远程Domino服务器,需要本地安装Domino/Notes,并且当前用户对远程数据至少具有读者权限。同时还需要将LDDJ包中的JdbcDomino.jar文件加到classpath中,将包中的几个dll文件拷贝到Windows的系统目录下(例如system32)。
LDDJ和Notes 客户端使用相同的安全机制,使用Notes ID,如果用户启动并且进入Notes客户端,当前用户ID设置为允许Notes外接程序共享标识符口令,则不用再次输入密码。
工作机理
LDDJ是Type 2的JDBC驱动,因此,本地需要Notes应用支持。其原理图如下:
开发
使用LDDJ开发应用主要注意两点:
第一,数据库url的语法。需要在url中指定服务器、数据库路径,设置文本域、富文本域的最大长度等设置。详细用法请看LDDJ的文档。
第二,为了得到比较好的数据存取效率,需要合理地创建视图。视图建立的方式不同会对会对应用的效率产生极大的影响。
Lotus Domino/Notes Toolkits综述(一)
Lotus Domino/Notes Toolkits综述(二) C API
Lotus Domino/Notes Toolkits综述(三) C++ API
Lotus Domino/Notes Toolkits综述(四) Java
Lotus Domino/Notes Toolkits综述(五) LDDJ
Lotus Domino/Notes Toolkits综述(六) 其他
Lotus Domino/Notes Toolkits综述(七) 分析比较