登录注册
上海交通大学论坛 > 数据库 > 浏览当前帖子 手机版 关闭左侧栏
实现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
表情
所有内容均为会员自愿发表,并不代表本站立场.
论坛帮助 会员认证删帖申请 联系我们