
软件设计与开发
微学热术海真
s数据库与关系型数据库之间的整合在办公
Notes
自动化系统中的应用
李宁
(光电信息控制和安全技术重点实验室北京东燕郊101601)
摘要:本文在基于Lotus Domino/Notes平台开发的办公自动化系统基础之上,介绍了非结构化数据的特点及非结构化数据库在办公自动化系统中的作用,对非结构化数据库与传统关系型数据库进行了详细的分析探讨,提出了Notes数据库与关系型数据库整合的技术方式,其目的是实现企业信息系统中Notes数据库与关系型数据库信息交至,以利用Notes平台提供的良好性能共享信息数据。
关键调:办公自动化系统非结构化数据Notes数据库关系型数据库中图分类号:TP311
文章编号:1007-9416(2011)08-0144-02
文献标识码:A
1、办公自动化系统与非结构化数据
数据库设计是建立数据库及信息系统的核心和基础,建立数据库应用系统使之能够有效地存储数据,是整个系统实现的一个重要环节。办公自动化系统简称OAS(OffioeAutomationSystem)与一般信息系统比较,它的特殊性表现在所处理的信息载体大多是以文件、报表、信函、传真等形式出现,所处理的数据类型称为非结构化数据(是一种文档型的数据),传统的面向结构化数据库无法完整地处理文档型数据,OAS建立数据库时必须以文档型数据为核心,同时选择性地结合关系型数据库。
传统关系型数据库系统适合结构化信息的应用和存储,但是对非结构化数据的处理越来越显现出不足的一面。因此,网络技术的发展促使数据库领城引人新的概念“非结构化数据库”,其目标就是针对WWW应用新的需求,高效率地表达和存储管理文档型数据。
非结构化数据库是OAS数据管理的有效手段,与关系型数据库相比,其区别在于它突破了关系型数据库结构定义不易改变和数据定长的限制,支持重复字段、子字段以及变长字段,并实现了对变长数据和重复学段进行处理和数据项的变长存储管理,在处理连续信息和非结构信息中有着传统关系型数据库所无法比拟的优势。
LotusDomino/Notes是当今OAS的主流开发平台之,采用了先进的单一架构的文档数据库技术一Notes数据库,Notes数据库在处理非结构化数据时,可谓是得心应手。考虑到许多单位内部大都拥有自已的信息系统,所处理的结构化的数据都以关系型数据库的形式存储。在开发OAS过程中必然要存在非结构化数据库和关系型数据库的交互问题,那么如何使OAS共享已有信息系统的信
息,避免重复工作成为一个急待解决的首要问题。 2、Notes数据库与关系型数据库
在OAS数据库设计中,不仅要解决共享数据的问题,实际上文档型数据库和关系型数据库各有各的利擎。文档型数据库对于各种运算操作有些力不从心,即使能够完成,实现的难度也很复杂无法与关系型数据库的实现方法相比较。综合考虑Notes数据库与关系型数据库各自优缺点,在OAS数据库建设中,涉及到关系型数据库操作运算问题时,采用关系型数据库技术进行处理,处理完结之后,通过ODBC接口技术实现文档型数据库与关系型
1449
随方数据
数据库的交互。
3、实现Notes数据库与关系型数据库的整合方式
Notes数据库支持ODBC标准存取不同类型数据库信息。通过开发平台内嵌联的Notes公式语言和LotusScript语言,可以在Notes数据库中引人结构化信息,将已存在的结构化数据转换成Notes数据库,
3.1使用函数访问外部数据库
Notes公式语言包含一整套的语法规则,提供丰富的命令和函数,可以对常量和变量进行计算和简单的逻辑控制。Notes提供了三个@DB函数:@DBColumn,@DBLookup.@DBConmand,通过眠部的ODBC接口来访问外部数据库。
@DBColumn函数从活动数据库或其他Notes数据库的视图或文件夹中查找并返回一个完整的值列。
@DBLookup函数给定个关键字值,在指定的视图(或文件夹)中,找出视图的第一个排序列中包含此关键学值的所有文档。对每个选中的文档,或者返回视图里指定列的内容,或者返回一个指定城的内客。
3.2使用LotusScript访问外部数据库
LotusScript是面向对象的程序设计语言,具有丰富的类,类方法和类属性,包含有集成的对象浏览器和程序开发环境。Notes的 ODBCConnection,ODBCQuery,ODBCResultSet三个类为Notes提供了用ODBC标准存取外部数据库的属性和操作。
具体实现过程如下:
(1)首先建立ODBC数据源。
(2)在Domino服务器上添加Data数据源,该数据源访间的管理信息系统所在服务器SQLServer。
(3)创建代理。创建一个代理Agent,选择LotusScript编写代理。首先引人扩展类:
(4)将语句Uselsx"+LSXODBC"放置在Global对象的Options事件中或访间ODBC类的代理中,其功能是通过加载ODBCLSX使 ODBC类在编程环境中有效。
(5)编写LotusScript语句。
DimtestAsNewNotesUIWorkspace notes工作台
Dim data As NotesUIDocument
“定义当前的*定义在当前