计算机世界日报
返回首页 产品报价 实用技巧 国产软件 技术天地 站点精选

计算机世界展览会日报

  综合要闻
  企业&人.com
  产品与技术
  网络与通信
  市场与渠道
  99全文检索

CCW网站

  网络世界
  微电脑世界
  IT经理世界
  CCW展览
  信息服务中心   家用电脑世界

兄弟刊物

  电子与信息化
  今日电子
  中国新闻科技
  电子知识产权
  电子产品世界

网上专递

  Linux园地
  友情链接
  冬涛谈法
Dongtao on Law

98内容总汇



实用技巧

在异构环境中数据库复制技术的实现方法

华中理工大学电力技术研究所
沈宇亮

---- 在企业级的网络环境中,异种操作系统同时并存的现象越来越普遍地存在,在部门级服务器中采用微软的NT服务器,企业的总服务器采用unix服务器。在许多系统集成的方案与实施中屡见不鲜,在不同操作系统之间运行的数据库内容的共享是一个普遍令人关心的问题。在这里介绍各大数据库均使用的复制技术实现数据向中心汇集,并可方便地实现集中式备份。实现的实例是SQL SERVER 6.5向SYBASE 11.9.2 for SCO unix复制。

---- 1. 操作环境介绍

---- 1) NT 4.0中文版 SP4

服务器名:dls
	   	SQL SERVER 6.5
数据库:   pubs,  comm
		SYBASE OPEN CLIENT 11.9.2

---- 2) SCO unix 5.03

服务器名: jc
Sybase  11.9.2  for  SCO unix
数据库:   pubs2

---- 3) 网络间的通讯协议: TCP/IP

---- 2. 复制拓朴 (图略)

person的表结构
CREATE  TABLE  dbo.person(
Id  int  NOT  NULL,
Name  Varchar(10)  NOT NULL,
CONSTRAINT  PK_person  PRIMARY KEY  CLUSTERED( id )
)

---- 3. 复制的操作步骤

---- 1) 以管理员身份的用户启动MSSQL SERVER 及 SQL EXCUTIVE 服务。

---- 2) 使用SQL Enterprise Manager/Replication Configureation / install publishing制作分发数据库distribution,实验时取数据设备为15M,日志设备为5M。

---- 3) 在NT上使用Sybase Central建立一个名为Sybase的服务器,用于联接unix服务器上的SQL SERVER并调通。

---- 4) 在NT服务器上使用第三步建立的服务器建立一个名为Sybase的ODBC 数据源用来联接unix服务器。

---- 5) 使用SQL Enterprise Manager/Replication Configuration/Publish设置pubs为出版数据库,并设置两个订阅服务器,一个为dls,另一个为ODBC Subscriber,选择已定义好的sybase数据源,并提供登录用户及登录密码。

---- 6) 使用SQL Enterprise Manager/Replication Configuration/Subscribe设置本地的COMM库为订阅数据库。

---- 7) 设置完后NT显示的复制拓朴图如下所示:(图略)

---- 8)设置向本机复制使用的出版物pub_nt其中包括一篇出版文章为person

---- 9) 以同样的方法设置向unix服务器的复制使用的出版物pub_unix,注意进行设置时Synchronization选项卡中的initial Synchronizaton的method 为Bulk Data Copy – Character Format ( Compatibility )

---- 10)把pub_nt的内容发向dls的comm数据库,同步的类型可以选为手工同步,自动同步或不同步中的任意一种。

---- 11)把pub_unix的内容发向sybase服务器的pubs2数据库,同步的方法只能设为不同步(No Data Synchronization )

---- 12)向NT的pubs数据库中插入三行数据。

	Insert  person  values(  1,  ‘a’  )
	Insert  person  values(  2,  ‘b’  )
	Insert  person  values(  3,  ‘c’  )

---- 13)查看NT的distribution库中msjob_commands表内容,发现SQL SERVER日志读任务可以完整地记录下对数据库的操作。列表如下:

publisher_id publisher_db  job_id  
command_id art_id   incomplete     command
------------ -------------- --------------------- 
0    pubs     14           1       6
0    insert into "person" values (1, 'a') 
0    pubs     14           2       7
0    insert into "person" values (1, 'a') 
0    pubs     15           1       6
0    insert into "person" values (2, 'b')
0    pubs     15           2       7 
0    insert into "person" values (2, 'b')
0    pubs     16           1       6 
0    insert into "person" values (3, 'c') 
0    pubs     16           2       7
0    insert into "person" values (3, 'c')
 

---- 14)查看二个目的数据库中的person表,看新插入的记录是否成功地把表内容复制到目的表中,如没有则需要看分发任务(任务类型为distribution)的执行情况。依据错误提示进行修改。常见的操作可能是服务器未联上或延时错误等。

 
免 费 订 阅

实用技巧分类

Office应用
CAD
C、C++
数据库应用
Delphi
Internet应用
Java
Notes应用
操作系统应用
PowerBuilder
VB
Visual Foxpro
其他类
上周 排行榜
如 何 投 稿 ?

编者的话

在日常的工作生活中, 我们对计算机软硬件技术的应用开发肯定有许多的心得体会, 拿来和众人分享:让别人得到他们想要的,使自己找到苦苦寻觅的; 小的点点滴滴,大的工程系统,这里都需要。投稿 的关键在“技巧”二 字,知他人所不知,这样的稿件本栏最最欢迎! 大家公认的 好文章自然会有好的奖励。希望每个人 在这里都有所收获...

r2.gif (980 bytes)
  中国惠普
  3Com中国
  Motorola中国
  CA中国
  Cabletron
  Sony在中国
  西门子WinCC
  爱普生中国
  中国建设银行
  德州仪器(TI)
  问博医药


中国计算机世界出版服务公司版权所有