Lotus Domino/Notes Toolkits综述的内容分析

Lotus Domino/Notes Toolkits综述的内容分析

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应用支持。其原理图如下:

Lotus Domino/Notes Toolkits综述的内容分析


开发
使用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综述(七) 分析比较
Lotus Domino/Notes Toolkits综述(八) 分析比较 续
Lotus Domino/Notes Toolkits综述(九) 小结