|
一、前言
在(zai)大(da)部(bu)分(fen)的(de)現(xian)場(chang)項(xiang)目(mu)中(zhong),如(ru)果(guo)使(shi)用(yong)關(guan)係(xi)庫(ku)的(de)總(zong)站(zhan)和(he)子(zi)站(zhan)的(de)數(shu)量(liang)比(bi)較(jiao)多(duo)的(de)時(shi)候(hou),數(shu)據(ju)的(de)彙(hui)總(zong)和(he)同(tong)步(bu)是(shi)個(ge)很(hen)麻(ma)煩(fan)的(de)問(wen)題(ti),況(kuang)且(qie)不(bu)是(shi)所(suo)有(you)的(de)關(guan)係(xi)庫(ku)都(dou)具(ju)有(you)存(cun)儲(chu)過(guo)程(cheng)和(he)觸(chu)發(fa)器(qi)等(deng)功(gong)能(neng)。
因此,關係庫同步工具應運而生,能夠不依賴數據庫軟件本身而實現對多個關係庫的數據進行同步和彙總的功能。
二、整體概述
1、主界麵

運行:在“配置”之後,執行從各個遠程數據庫到本地數據庫的彙總和下置過程。
配置:設置參數,包括IP、DSN、SQL表和字段等。
清空本地表:對於每個遠程數據庫的機器號,刪除本地數據庫中所有改號的記錄。
清空:界麵顯示操作。
導出:執行錯誤時便於分析。
2、運行程序後,首先點“配置”進行遠程數據庫和表結構設置:

定時器周期:單位s,執行內部定時器掃描的間隔,建議為1。
下次彙總間隔:下次執行彙總的時間間隔,即使周期短,每次執行結束才會執行下個工作過程。
下次下置間隔:下次執行下置的時間間隔,即使周期短,每次執行結束才會執行下個工作過程。
3、DSN設置界麵

IP:數據庫所在機器的地址
機器號:主要數據表,字段為 machine_id 的數值
DSN:連接字符串
4、SQL表和字段設置界麵

表名:SQL中的表名。
需要更新記錄:
如果不鉤選“主要表”,當不選中時隻進行insert的增加記錄操作,當選中時會比較其它非主鍵字段的內容,數據不一樣時進行update的更新記錄操作;
如果鉤選“主要表”,這個選項不起作用。
主要表,根據機器號清空表使能:
如果鉤選,該表是針對混凝土主要數據表進行的操作,必須設置表的比較標記字段(類似於主鍵),表必須包含machine_id、note_no、IsNotBackup這幾個字段,否則執行過程異常;
如果不溝選,則該表中的上述字段無效果,就是一般的表,“需要更新記錄”選項將決定是否對遠程更新過的數據進行本地更新。
主要表,根據機器號寫到客戶端:
選擇改選項時,表名為中心的臨時表,主下置表名為遠程使用的原表,當臨時表的每條語句被執行之後就會刪除改條記錄。表必須包含machine_id、IsNotBackup這幾個字段。
字段名:SQL表中的字段;
字段格式:支持的包括整數、浮點數、字符串。
比較標記:指明這個字段需要進行遠程和本地的查詢條件,相當於主鍵的作用。
三、總結
關係庫同步工具的應用,使得原本多個關係庫之間的數據同步和彙總由複雜而變得簡單。隻需要進行幾步配置,就可以運行使用。
|