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应用支持。其原理图如下:
开发
使用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综述(九) 小结