(上接第2期)
本節主要介紹由中心數據庫向各終端數據庫進行數據分發的配置與開發,詳細介紹如何利用PowerDesigner 進行由單一中心數據庫(ASE)向多個異構目標數據庫(Oracle, MSSQL,ASE)進行數據分發復制的配置過程。PowerDesigner為數據復制與定義的配置提供了多種方式,除了在3.3章節所介紹的直觀的配置之外,還有復制向導,Mapping Editor等。接下的章節主要介紹如何使用這兩種配置方式。
與數據合并不同,數據分發的目標數據庫由單一的ASE數據庫變成了包含ASE數據庫和非ASE數據庫(Oracle, MS SQL)。對于非ASE目標數據庫,需要借助復制網關ECDA進行Replication Server 到目標數據庫的無縫連接。通過ECDA進行連接的非ASE目標數據庫,將擁有不同于上一節中的Data Server Name和Database Name。詳細內容請參閱復制網關使用手冊。 添加了合并配置的 ILM拓撲結構如圖9。
從圖中可以看出,盡管Site.SiteOracle與ECDASiteA.SiteOracle,SiteC與ECDASiteC.Site_MSSQL 名稱不同,但它們所指卻是相同的數據庫。而對于ASE數據庫SiteB.Site_ASE, 由于不需要使用復制網關ECDA,它和復制服務器之間是一個直接的雙向連接。

圖9 PowerDesigner ILM數據分發與合并拓撲圖
3.4.1 利用復制向導配置對目標異構數據庫的配置
復制向導大大簡化了復制系統的配置過程,本節將以配置中心數據庫ASE到終端數據庫Oracle為例,介紹復制向導的使用步驟:
(1)啟動復制向導Tools->Replication Wizard, 如圖10。

圖10 復制向導配置首頁
(2)選擇源數據庫及復制服務器(或復制過程)。
(3)創建復制定義。

圖12 復制向導復制定義創建
(4)選擇復制對象,創建表格級復制定義。

圖13 復制向導復制定義對象選擇
(5)創建目標數據庫連接。對于非ASE數據庫,不能復用已有的數據庫,而需要創建新的數據庫連接。新的數據庫連接擁有與復制網關ECDA相關的數據庫服務器名Data Server Name和數據庫名Database Name。

圖14 復制向導目標數據庫配置
(6)為目標數據庫選擇已經存在的PDM。這個PDM需要復用數據合并中使用的數據庫模型,因為它們都指向同一個數據庫。

圖15 復制向導目標數據庫與PDM關聯配置
(7)與現有ILM模型進行合并,檢查并解決可能出現沖突項,如重復命名等。點擊確認(OK)完成復制向導的配置。

圖16 復制向導模型生成
從以上各個步驟可以看出,復制向導將3.3節所介紹的手工配置復制系統的過程進行了標準化,從而減少了用戶的記憶負擔,更加方便易用。需要注意的是,PowerDesigner 復制向導會直接使用表格名稱作為表格級復制定義的名稱,當表格是中文字符時,需要確認所使用的Replication Server支持中文字符。否則,需要在復制向導完成后,按照3.3節所示的方法,手工修改表格級復制定義的名稱。
3.4.2 利用Mapping Editor進行異構復制數據庫配置
應用Replication Process Mapping Editor能夠對復制定義與復制訂閱進行批量化的配置開發。Mapping Editor具有直觀、簡便等特點,能夠屏蔽復雜的復制定義和訂閱配置的過程。
Mapping Editor對話框分為3個部分,分別是源對象框,目標對象框以及屬性框。用戶通過拖放(drag and drop)就可以進行復制對象源和目標的匹配,非常簡潔,且適合大規模定義操作。
下面以配置中心數據庫ASE到終端數據庫MSSQL為例,介紹Mapping Editor的主要使用步驟。
(1)啟動Mapping Editor。 右擊復制服務器圖標,選擇Mapping Editor。
(2)根據已有數據連接的連接屬性,Mapping Editor將源和目標對象分列在源對象框和目標對象框。如果已經定義了復制定義,源對象將呈現為圖標,目標對象將呈現為圖標。
(3)創建數據庫。點擊工具欄中數據庫連接創建工具,創建新的MSSQL數據連接。此過程與復制向導類似。
(4)展開源和目標對象(表),將源對象拖放到目標對象上,即相應的Mapping(復制定義,復制訂閱)。一個帶方向箭頭的連接線將清楚的標識新定義的復制。
(5)右擊源對象,打開對象菜單,可以刪除/隱藏已經定義的Mapping,也可以打開Mapping的屬性對話框進行詳細的配置,包括Mapping 的觸發器(Triggers),規則(Rules)等等。

圖17 Mapping-Editor 配置
在已經發行的PowerDesigner版本中,Mapping-Editor只支持僅有單個復制服務器的ILM模型。在未來PowerDesigner版本,這個限制有可能被取消以適應越來越復雜的復制需求。
在3.3節和3.4節,我們已經完成了大部分復制系統的配置工作,也能夠通過屬性對話框的Preview窗口查看生成的腳本。接下來的任務就是檢查這些配置的正確性,以及生成真正可以在數據庫,復制代理,復制服務器上運行的腳本文件。
3.5.1 模型檢查
PowerDesigner ILM 提供了Check Model的工具,用來檢查模型配置的一致性。盡可能地保證生成腳本的正確性。模型檢查的主要使用步驟如下:
(1)啟動Check Model工具。菜單Tools --> Check Model。(2)展開Option屬性頁,選擇需要檢查的項目。(3)展開Selection屬性頁,選擇需要檢查的ILM model。點擊確認(OK)進行模型檢查。
(4)檢查完畢,彈出結果列表。根據結果列表的詳細描述,可以輕松找到錯誤的或值得警告的配置。更正所有的錯誤配置和警告之后,可以重復以上步驟知道沒有任何錯誤提示或需要更正的警告提示,模型檢查工作就完成了。
3.5.2 腳本生成
運行Check Model并修正所有配置之后,就可以生成相應的腳本文件了。腳本的生成盡管是所有配置檢查工作的最終目的,但卻是整個配置開發過程最簡單的一步,主要的使用步驟包括:
(1)啟動腳本生成對話框。Tools→Replication 15.2→Generate Scripts。
(2)展開Selection屬性頁,選擇所要生成腳本的數據庫和復制服務器。

圖18 模型檢查結果列表
(3)查看將要生成的腳本文件。
(4)創建運行任務,指定是否需要在指定的復制代理或復制服務器上執行所生成的腳本。如果要運行,前提是必須為所選的復制代理或復制服務器配置ODBC或JDBC連接信息,詳細信息請參考PowerDesigner使用手冊。
(5)點擊確認(OK)運行腳本生成。

圖19 腳本生成文件列表
如果沒有選擇在復制代理或復制服務器上直接運行生成腳本,可以將腳本文件全部或部分(根據需要適當剪裁)地通過服務器的命令行工具在數據庫,復制代理,復制服務器或復制網關上直接運行。整個異構雙向的復制系統的配置與開發工作至此全部完成。
Sybase Replication Server是一個優秀的數據庫復制系統,能夠在異構環境中管理數據的復制轉移;PowerDesigner作為一個強大的建模工具,提供了多種途徑(手工配置,復制向導,Mapping-Editor等)幫助用戶快速便捷的設計、配置和建立Replication Server復制系統,降低了復制系統配置與開發的復雜度,極大的提高了系統開發人員的開發效率。更難能可貴的是, PowerDesigner和使用廣泛的Sybase Replication Server仍在不斷創新,不斷增加激動人心的新特性,以滿足市場的需求。