Domino数据迁移解决方案

  • 格式:doc
  • 大小:153.00 KB
  • 文档页数:6

下载文档原格式

  / 6
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

协同应用平台Domino数据迁移解决方案

Lotus Domino/Notes简介

Domino数据库结构模式:

1.Lotus Domino是先进的文档数据库,广泛应用于办公自动化、工作流控制、协同工作环境等方面,

Domino的一个主要技术是信息检索技术,包括全文检索、关键字查询、视图和文件夹等多种方式。2.文档型数据库与关系型数据库的区别与联系

区别:非结构化数据与结构化数据。

联系:数据库对象类比表。

3.Domino系统的主要组件有Domino服务器、Adminstrator、Designer和Notes客户端。

Domino服务器集企业级电子邮件、分布式文档数据库与快速应用开发与一体。

Adminstrator是管理服务器的软件,用于监控、管理和性能优化。

Designer是应用程序开发软件。

Notes是工作站端软件,集成了邮件、日历、WEB浏览和信息管理。

4.Domino数据库结构由表单、域、文档、视图及其他显示部分组成。

表单:用于创建表单外观和功能的组件。

域:是构成表单的重要元素,用以数据录入、存放和显示。

文档:存储信息的主要形式,相当于关系型数据库的行记录。

视图:是文档的现实窗口,可加条件。

OA的迁移模块简介

【项目名称】×××××政府

【公文】

公文管理主要是国家行政机关、企事业单位在行政管理过程中形成的具有法定效力和规范体式的文书,是依法行政和进行公务活动的重要工具。

本模块主要实现发文、收文、文件送审签的网上自动流转,从而提供了更加规范化、制度化、科学化、流程化的办理方式,简化了纸质办理方式的繁琐性,使工作效率得到了大大的提高。因此公文历史数据的查阅和复用频率很高。

【政务信息】

OA政务信息模块是信息的一个重要门类,是政务活动中反映政务工作及其相关事物的情报、情况、资料、数据、图表、文字材料和音像材料等的总称。

【项目名称】××××××集团

【集团公司发文】参看【公文】

Domino数据迁移具体技术实现方案

Domino数据源搜索提供两种方法:

一、使用Domino因特网ORB间协议DIIOP访问

×××××政府原OA系Domino数据库,公文和政务信息等多个模块历史数据需要迁移至新OA中。

通过DIIOP协议访问Domino,在Domino服务器上,IOR是一个名为diiop_ior.txt的文件,位于Domino数据库目录下的domino\html子目录中。IOR是对象的字符串编码,包含对服务器的CORBA访问的识别信息。客户机会将字符串IOR解码,并用来建立远程会话。默认情况下,远程客户机通过WEB服务器端口请求服务器的IOR,然后通过DIIOP端口进行回话请求。

首先,将Domino数据库DIIOP协议服务启用(修改配置文件),在Java中调用导入的包Notes.jar,用NotesFactory从指定地址中取得IOR,用指定数据库帐号、密码以及地址,连接数据库,从返回Session 中获取数据源,按域名取出原Domino数据库中的公文和信息模块数据,迁移至新OA关系型数据库对应的表中。

这种方法不需要把diiop_ior.txt放置到本地。

由于数据的条数比较多,如果一起批量插入的话会内存溢出,所以每1500条批量插入一次,最后要释放库对象。

Java程序调用jar包:

例如下面部分代码片段:

//从web服务端口获取IOR

String ior = NotesFactory.getIOR("ip");

//用DIIOP 端口新建session

Session session = NotesFactory.createSession(ior, "user", "pass");

//获取数据源对象

Database db = session.getDatabase(session.getServerName(),

"D:/lotus/Domino/Data/oibn/bumf.nsf");

上面的方法描述的是如何去取基本数据,假如Domino数据库中有个域名存放的是附件又该如何取?万户OA中附件是以物理文件的形式存放在文件服务器上,所以我们需要通过域名将附件的内容读出来再写入本地文件中。将上述附件上传至OA指定文件服务器路径下,就可以完成附件还原。

这样就完成了Java通过DIIOP协议连接Domino数据库,从Domino数据库到oracle数据库的数据迁移,过程中无需安装和配置Notes。

二、Lotus数据导出使用Notes远程过程调用(NRPC)协议

这种方法需要在服务器上安装Lotus Notes,同时运行一个脚本,从而使Notes能够与使用NRPC的服务器通信。

以××××××集团OA项目“集团公司发文”为例,需求是将原公文已归档数据导出至OA。

首先,用万户OA自定义数据表、自定义模块功能,新建发文模块和数据表。

其次,安装Lotus Notes,通过ODBC连接配置OA数据库。

最后,写LotusScript导出数据代码导出数据到OA数据库中。

例如:

LotusScript是IBM公司的Lotus系列软件(如Lotus Notes, Lotus SmartSuite)的一种编程脚本语言。它的语法与VBA基本相同,是一种基于对象的语言,现在主要用在Lotus Notes开发中。

(LotusScript需要初步学习入门,才可以实现上述操作)

实现效果与建议

通过上述两个涉及到数据迁移的OA项目案例,可以看出两种方法都能完成数据迁移。在比较两种方法过后,针对影响数据迁移的各种因素:速度、性能、实施难度、消耗资源等……

建议采用DIIOP协议的方式来实施数据迁移,由于这种方法比较灵活、易上手、且无需LotusScript 语言基础,在实际案例中也可降低实施难度,规避实施风险。