异构数据库同步
MobiLink开发资源集之简单的数据同步
MobiLink 同步允许在符合 ODBC 标准的统一数据库和 Adaptive Server Anywhere 或 UltraLite 远程数据库之间进行复制。在本教程中使用的是 Adaptive Server Anywhere 远程数据库。统一数据库可以是使用 Sybase Adaptive Server Anywhere、Sybase Adaptive Server Enterprise、Oracle、Microsoft SQL Server 或 IBM DB2 生成的数据库。
MobiLink 适用于将一个统一数据服务器与大量远程数据库进行同步(通常包含多个移动数据库)。远程站点的管理和资源要求已降到了最低限度。此系统是基于连接的,并且远程站点可随时进行连接。在每次进行连接之后,数据库是完全同步的。
MobiLink 的工作方式是:将远程数据库上的多个事务的结果合并成一个更改集,然后应用到统一数据库中。因为同步始终在事务边界进行的,所以保持了参照完整性。不保留在组件事务过程中所做的各个更改的顺序:因为从不复制未提交的数据,所以保留了数据完整性。
从体系结构上说,MobiLink分为服务器端和客户端两部分。MobiLink服务器与统一数据库连接(ASA、ASE、SQL Server、Oracle...),MobiLink客户端则与远程数据库连接(ASA或UltraLite)。
进行同步时,当 MobiLink 远程站点打开与 MobiLink 同步服务器的连接时,通常便开始了同步过程。同步期间,远程站点的 MobiLink 客户端将上载自上一次同步以来对远程数据库所作的更改。MobiLink 同步服务器在收到这些数据时开始更新统一数据库,然后将统一数据库中的更改下载到远程数据库。
所以,我们需要在远程数据库上建立发布,CREATE PUBLICATION,告诉MobiLink Client,这些表的这些列是需要同步的。例如:
CREATE PUBLICATION Lab_all ( TABLE dept, TABLE emp )
以上语句表明,Lab_all这个发布将会让MobiLink客户端在同步时组织dept表和emp表的上载流数据。目前是组织两个表中的自上一次修改以来变化的所有数据作为上载流,当然,也可以通过在发布上加列,加条件完成。例如:
CREATE PUBLICATION pub_customer ( TABLE customer ( id, company_name, city, state ) WHERE status = 'active' )。
当然,我们也需要在远程数据库上建立同步用户:
CREATE SYNCHRONIZATION USER "SIMPLE"
接下来,就建立一个SYNCHRONIZATION SUBSCRIPTION。这是为MobiLink用户定义预定发布。预定发布将告诉MobiLink客户端,在同步时,这个用户和其对应的发布将使用什么样的方式连接到MobiLink服务器,并使用MobiLink服务器端指定版本的同步脚本来进行同步。例如:
CREATE SYNCHRONIZATION SUBSCRIPTION TO La
异构数据库同步 来自淘豆网m.daumloan.com转载请标明出处.