|
数据库同步详解 如果你要使用 同步专家网络版实现数据库同步,请仔细阅读以下内容 一、基本概念 数据集 - 指同步的对象,对于数据库,一个表,就是一个数据集; 记录 - 组成数据集的数据条目,与数据库里的记录是同等概念; 字段 - 一条记录的各个属性数据,与数据库里的字段是同等概念; "关键字段" - 一个特殊的字段,它的值具有唯一性,在一个表中,不会有两条记录的关键字段有相同值。关键字段应该是字符型或方便转换成字符串的。一旦记录写入完成,关键字段的值不可以被修改。关键字段不支持 Unicode。表的主键可以作为关键字段。为了提高同步效率,关键字段应该有索引。为什么要有关键字段?因为同步是根据关键字段来识别一条记录的,没有关键字段就不能区分各条记录,也就谈不上同步了。 "修改时间" - 这是一个字段,对新加的记录,该字段保存添加记录的日期时间,如果记录被修改,该字段保存记录最后被修改的日期时间。要实现对记录的修改也能进行同步,必须要有"修改时间"字段,即使不需要对修改记录进行同步,为了实现高效的数据 库同步,也要有"修改时间"字段。该字段支持 DateTime, Date 类型。为了提高同步效率,修改时间字段也应该有索引。如果同步的双方(两个数据集)都有同一条记录,但有一边的该记录修改过了,就要对比“修改时间”字段来判断究竟哪边是修改过的。如果某些表,记录不算多(数百或上千条记录都算是较少的),且只会往里面添加记录,不会修改及删除其中的记录,那么,不需要有修改时间字段。同步专家网络版有一个时间选项,允许只同步最近多少天修改的记录,对于记录数量庞大的情况,经过这一选项的过滤,要扫描的记录就不多了。最大限度地节省同步所需要的时间。 "删除标记" - 这是一个字段, 为了对记录的删除操作也能进行同步,要求应用系统删除记录时,不是立即从表中删除它,而是先将该记录的"删除标记"置为"真"。为什么要这样做?如果没有“删除标记”,删除记录时立即从表中删除,那么,对于双向同步的情况,该记录被删除之前,有可能已经同步到其它主机上了,下次同步时,可能将该记录又从其它主机同步回来了。在应用系统中要增加一个功能模块,用于定期(手工或自动)对表进行清理,删除所有标记为 已删除 的记录。 二、软件架构 同步专家网络版 三、使用方法 1. 添加ODBC数据源 运行Windows自带的ODBC数据源管理程序 odbcad32.exe, 可以添加数据源(也就是需要同步的数据库了)。 有两种数据源"用户数据源", "系统数据源", 用户数据源,只允许当前登录的用户访问,而系统数据源允许本机的所有用户访问。 下面以 Access数据库 d:\abc.mdb 文件为例介绍添加数据源过程: 先选到"系统DSN"页, 点"添加"按钮, 然后选择驱动程序"Microsoft Access Driver(*.mdb)", 再点"完成",在"数据源名"一栏给该数据源取个名称(比如 ABC), 再点选择按钮,选"d:\abc.mdb"文件。最后点"确定"按钮,完成添加。 2. 数据接口配置 数据接口(wDataAcc.dll)使用配置文件 DataSync.ini, 同步专家网络版提供了一个独立的程序IniAdmin.exe用于管理数据接口配置DataSync.ini(如果你理解该配置文件的结构,也可以用记事本编辑它)。 3. 同步专家网络版服务端 为每个用户添加允许访问的 数据集,并指定其访问权限。 4. 同步专家网络版客户端 为每个要同步的表添加同步任务(因为同步的对象是表), 设定各种同步参数。 四、数据库同步的功能特点 1. 通过ODBC接口访问数据表,可最大限度支持各种数据库;并且可以在各种数据库之间进行同步,只要该数据库提供ODBC接口。 2. 源表和目标表中主键、修改时间、要同步的字段都应该具有相同的名称,但类型不必相同;同步中会自动转换,只要保证它们之间是可转换的。
|
| 慧龙软件工作室 版权所有 |