|
登录注册 |
☦ 上海交通大学论坛 > 数据库 > 浏览当前帖子 | 手机版 关闭左侧栏 |
实现Domino至DB2的批量数据传输 |
【返回本版】 【发表帖子】 【回复帖子】 | 浏览量 4210 回帖数 0 |
师大师姐 等级 ☆ 楼主 发表于 2011/7/23 10:37:04 编 辑 |
||
实现Domino至DB2的批量数据传输 南开大学计算机系 邹守栋 在Notes 应用开发过程中,经常需要实现Notes 数据库与□□关系型数据库(如Ora cle、Sybase、SQL Server、DB2等)的数据交换,为此Lotus公司推出了Notes Pump 来完 成Notes 数据库与RDBMS(关系型数据库管理系统)之间高效、快速、可伸缩的批量数据交 换。 一、Notes Pump 安装 ----Notes Pump 是Lotus公司Domino/Notes 系列产品之一,是一个基于服务器的32位多 任务数据传输引擎。Notes Pump 包含三部分:服务器、管理员、开发客户端。Notes Pump 服务器必须安装在已装有必要的Notes DLL的平台上,但其运行可独立于已安装的 Notes 服务器或客户端。"管理员"是一个Notes 的应用数据库,存储在Domino服务器上 ,且可运行于任何装有NotesClient4.11或更新版本的平台上。Notes Pump 开发客户是 一个可选组件,安装后可为后面创建"活动(Activity)"时提供方便,并支持Notes Pump LotusScript Extensions编程。装有Notes Pump 服务器的机器还需要有相应的数据库 通讯软件,如Oracle SQL *NET,DB/2CAE,ODBC等,以便和相应的数据库服务器连接。安 装前还应运行相对应于所连数据库的Test程序,以确定是否连通。 ----本人使用的开发环境为:IBM Netfinity7000两台,均装有Windows NT 4.0,其中一 台装有DB/2 UNVERSAL DATABASE 5.0 Server,另一台装有Lotus Domino 4.6(中文版)、 Notes Pump 2.5 Server、DB/2 Client。安装Notes Pump 前运行Nottest和Db2test,输 入相应的服务器名及使用者密码后显示连接成功,然后按提示安装Pump 后即可。安装完 成后,打开Notes Client会发现Pump 在Domino数据库中加入了四个库文件(.nsf),分别 是:Administrator、Log、Script Vault、Documentation,同时在Pump 安装的路径下 会生成一个Inpump.ini文件,其中记载着安装过程用户输入的信息和选项。 二、Notes Pump 主要功能 ----Lotus Notes Pump 是一个企业级规模的数据分发服务器,它可实现RDBMS和Notes 数据库之间数据的周期性复制,主、辅Domino服务器之间数据的及时和自动的同步。数 据的移动可以是调度安排的,也可以是轮询或手动的,还可以被某个特定的条件所激发 。 ----在Pump 中,任意一次数据的传输都对应一个"Activity"。为适应不同的数据传输要 求,Pump 在Administrator中提供了多种"Activity",包括:Command、Poll、DPROPR、 Realtime Notes、Replication、Direct Transfer、Scripted 等,每一种都有一个与之 相应的表单,表单中的域用来存放此"Activity"被执行时需要告知Pump Server的信息。 ----几乎每一个"Activity"都建立在"Link"之上,"Link"的数目随"Activity"的类别而 定,从零个到多个不等,"Link"是Pump 用来记录数据传输中所涉及到的源、目的数据库 基本参数的,其中主要包括:数据库名、用户名和用户密码。与"Activity"类似,对应 于不同厂家的数据库产品,有不同的"Link"表单(Form)。不同的"Activity"如果操作同 一个数据库且访问参数也一样,可复用一个"Link"。Notes Pump 还提供了"Link"测试程 序-LNKTEST.EXE,它是一个DOS环境下的命令行程序,其使用方法为: ----D:\LNPump >LNKTEST[OPTIONS]<link1>[<link2>...<linkn>] ----其中参数只有一个"-p"用来显示"link"的属性。在创建"Link"和"Activity"时经常 要用到下面的Notes 数据和RDBMS的常用术语对照表。 三、实现数据传输 ----下面用一个简单的例子来说明Notes Pump 的使用方法,即把在Notes 中创建的文档 通过Pump 传到另一台Netfinity7000上的DB2数据库中去。然后分别用Direct Transfer 和Scripted 两种"Activity"实现上述任务。 ----在DB2SERVER(系统)-DB2(实例)-SAMPLE(数据库)-USERZOU(模式)-STUDENT(表)中只 有三个字段:Name(Character 10)、Sex(Character 4)和Age(Integer),其中主关键字 为Name,无外来关键字和检查约束,且三个字段均设为非空。 ----在Domino Server的student.nsf数据库中有一名为"stuinfo"的表单,与DB2中的表 对应也有三个域:学生姓名(Name)、性别(Sex)、年龄(Age)。 ----1.Direct Transfer Activity ----在Notes 工作台上打开Pump Administrator数据库,首先创建两个"Link"-DB2STUD ENT、NOTESSTU,其内容分别见下图: ----在此基础上再创建Direct Transfer Activity,在工具条中选择"创建"-"Activity "-"Direct Transfer"即可打开与之相对应的表单,见下图: ----依次选择"Select Metadata"和"Map Fields"按钮建立两表之间字段的对应关系,存 盘后直接点击"Run ASAP!"即可激活该"Activity"进行数据传输 |
1 |
论坛帮助 会员认证删帖申请 联系我们 |