[摘 要] 針對企業(yè)信息化建設(shè)的階段性使其存在多種異構(gòu)數(shù)據(jù)庫問題,本文討論了用于異種數(shù)據(jù)庫互聯(lián)的SQL Server 2008集成服務(wù),介紹了實(shí)現(xiàn)集成服務(wù)的兩種工具,并以一具體實(shí)例詳細(xì)闡述了利用SQL Server 2008集成服務(wù)實(shí)現(xiàn)異構(gòu)系統(tǒng)數(shù)據(jù)交換和傳輸?shù)姆椒?,最終取得了良好的效果。
[關(guān)鍵詞] SQL Server 2008 集成服務(wù) 異構(gòu)系統(tǒng)
一、問題的提出
隨著煤炭企業(yè)自動化和信息化的飛速發(fā)展,如何充分利用各部門已建立的數(shù)據(jù)庫資源,實(shí)現(xiàn)不同數(shù)據(jù)庫間的連接、數(shù)據(jù)交換、數(shù)據(jù)共享和協(xié)同工作,已經(jīng)成為企業(yè)自動化建設(shè)的一個(gè)關(guān)鍵問題。某礦井提出構(gòu)建安全生產(chǎn)管理綜合自動化系統(tǒng)(AMMAS),其將最大限度地實(shí)現(xiàn)“減人提效”;最大限度地實(shí)現(xiàn)各種生產(chǎn)、監(jiān)控、通訊系統(tǒng)的統(tǒng)一集成。該系統(tǒng)是將生產(chǎn)安全監(jiān)控系統(tǒng)、生產(chǎn)調(diào)度管理系統(tǒng)、煤炭運(yùn)銷系統(tǒng)、設(shè)備管理系統(tǒng)等系統(tǒng)進(jìn)行集成,各子系統(tǒng)間有著大量的數(shù)據(jù)交換,其數(shù)據(jù)流是非常復(fù)雜的。
調(diào)研過程中發(fā)現(xiàn)各自動化管理系統(tǒng)采用了不同的操作平臺和數(shù)據(jù)庫管理系統(tǒng),如企業(yè)辦公綜合信息系統(tǒng)采用了基于NT平臺的SQL SERVER 2000數(shù)據(jù)庫,生產(chǎn)調(diào)度管理系統(tǒng)采用了基于NT平臺的MySql數(shù)據(jù)庫,煤炭運(yùn)銷系統(tǒng)采用了基于NT平臺的Access數(shù)據(jù)庫,設(shè)備管理系統(tǒng)采用了基于UNIX平臺的ORACLE10g數(shù)據(jù)庫,這使數(shù)據(jù)庫間的數(shù)據(jù)傳輸變得復(fù)雜。利用SQL SERVER 2005提供的集成服務(wù) (簡稱SSIS),可以方便地實(shí)現(xiàn)異種數(shù)據(jù)庫間的數(shù)據(jù)交換,有效降低開發(fā)成本和難度。
二、SQL Server 2008 集成服務(wù)
集成服務(wù)是SQL Server 2008強(qiáng)大功能之一,它被歸類為一種商業(yè)智能工具,同時(shí)是一種在工作流中加載數(shù)據(jù)以及執(zhí)行任務(wù)的強(qiáng)大功能,該功能主要用于數(shù)據(jù)加載,用戶也可以使用它來完成工作流中的其他任務(wù),下面簡單介紹兩種工具的使用。
導(dǎo)入和導(dǎo)出向?qū)菍碜灾T如Oracle、DB2、SQL Server、以及文本文件等數(shù)據(jù)源的數(shù)據(jù)轉(zhuǎn)移到目的地的最便捷方法,該向?qū)Э梢钥焖俎D(zhuǎn)移數(shù)據(jù)并且可以執(zhí)行少量的數(shù)據(jù)轉(zhuǎn)換功能。
商業(yè)智能開發(fā)工具集是用戶作為集成服務(wù)程序員經(jīng)常需要使用的核心工具,該工具未綁定到任何特定的SQL Server,可直接設(shè)計(jì)程序包,然后再將程序包部署到目標(biāo)SQL Server來運(yùn)行它。
三、SSIS在礦井安全生產(chǎn)綜合管理自動化系統(tǒng)中的應(yīng)用
礦井安全生產(chǎn)管理綜合自動化系統(tǒng)需要定時(shí)從其他系統(tǒng)數(shù)據(jù)庫中讀取數(shù)據(jù),比如綜合自動化系統(tǒng)從安全監(jiān)控子系統(tǒng)中獲取瓦斯?jié)舛?、風(fēng)量等參量,并進(jìn)行超限判別;如果超限,地面中心站可根據(jù)要求進(jìn)行遠(yuǎn)程人工斷電,否則就照常生產(chǎn)。由于各自動化系統(tǒng)采用了不同平臺上的異構(gòu)數(shù)據(jù)庫,數(shù)據(jù)傳輸?shù)倪^程中除了實(shí)現(xiàn)源數(shù)據(jù)庫的連接以外還要對數(shù)據(jù)進(jìn)行轉(zhuǎn)換和檢驗(yàn),具有強(qiáng)大數(shù)據(jù)庫連接和轉(zhuǎn)換能力的SSIS可以方便地解決上述問題。
創(chuàng)建SQL Server 數(shù)據(jù)集成包輔助類庫設(shè)計(jì),類庫中包含四大模塊:控制流(Control Flow),數(shù)據(jù)流(Dataflow),連接管理器(Connections),外部數(shù)據(jù)源(External Metadata)。具體功能如下:
1.控制流模塊中實(shí)現(xiàn)功能包含:添加執(zhí)行SQL任務(wù);添加執(zhí)行包任務(wù);創(chuàng)建包中任務(wù)之間的連接。
2.數(shù)據(jù)流模塊中實(shí)現(xiàn)功能包含:創(chuàng)建一個(gè)數(shù)據(jù)流適配器組件;創(chuàng)建組件之間路徑;獲取數(shù)據(jù)流中的組件;映射源適配器的輸出列;映射目標(biāo)適配器的輸入輸出列。
3.連接管理器模塊實(shí)現(xiàn)功能包含:向包中添加連接器;初始化平面文件連接管理器的配置;獲取創(chuàng)建連接器的短名稱。
4.外部數(shù)據(jù)源:支持平面文件,源文件,OLE DB類型數(shù)據(jù)源。
下面具體介紹將設(shè)備管理系統(tǒng)的數(shù)據(jù)導(dǎo)入安全生產(chǎn)管理綜合自動化系統(tǒng)具體設(shè)計(jì)步驟如下:
(1)首先將設(shè)備數(shù)據(jù)ID遷移到AMMAS的JIBEN—SOURCE(基礎(chǔ)信息表)的字段SHEBEIID中;
(2)啟動、創(chuàng)建新的Integration Services項(xiàng)目裝載各個(gè)異構(gòu)的數(shù)據(jù)源;
(3)配置2個(gè)數(shù)據(jù)庫連接管理器,一個(gè)用于連接源數(shù)據(jù)源,即設(shè)備管理數(shù)據(jù)庫;一個(gè)用于連接目的數(shù)據(jù)源,即AMMAS的數(shù)據(jù)庫;
(4)包中添加數(shù)據(jù)流任務(wù)。首先添加一個(gè)OLE DB數(shù)據(jù)流源組件,根據(jù)映射結(jié)果,將需要遷移的字段添加到輸出列中;
(5)執(zhí)行包任務(wù),完成數(shù)據(jù)轉(zhuǎn)移。
四、結(jié)論
由SQL Server 2008 集成服務(wù)提供一系列的工具來實(shí)現(xiàn)異構(gòu)數(shù)據(jù)源的數(shù)據(jù)交換和集成,利用SSIS技術(shù)可以成功實(shí)現(xiàn)不同數(shù)據(jù)庫間的連接、數(shù)據(jù)交換和數(shù)據(jù)共享,使各系統(tǒng)協(xié)同工作得以實(shí)現(xiàn),這大大降低了新系統(tǒng)的開發(fā)周期,充分利用了已有資源,降低了開發(fā)費(fèi)用。
參考文獻(xiàn):
[1]王勝德 楊學(xué)強(qiáng):利用DTS實(shí)現(xiàn)異構(gòu)數(shù)據(jù)庫的數(shù)據(jù)交換[J].計(jì)算機(jī)應(yīng)用,2003,7:132~134
[2]樂鑫喜 劉 清:異構(gòu)數(shù)據(jù)庫集成系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[J].計(jì)算機(jī)工程與應(yīng)用,2007,27:174~177
[3]Brian Knight等:SQL Server 2005集成服務(wù)高級編程[M].楊戰(zhàn)偉 譯.清華大學(xué)出版社.2007
[4]葛 欣 丁恩杰:數(shù)據(jù)倉庫中數(shù)據(jù)抽取技術(shù)的研究與應(yīng)用[J].工礦自動化,2007,10(5):33~35
[5]楊 正 曹志耀:一種基于數(shù)據(jù)倉庫系統(tǒng)的數(shù)據(jù)獲取方案[J].計(jì)算機(jī)應(yīng)用研究,2005,5:81~83
[6]李鵬飛 趙軍強(qiáng):SSIS在異構(gòu)數(shù)據(jù)庫間數(shù)據(jù)遷移的應(yīng)用研究[J].長江大學(xué)學(xué)報(bào),2008,5(3):62~64
[7]范習(xí)輝 陳 芳:基于DTS技術(shù)的電力系統(tǒng)異種數(shù)據(jù)庫互聯(lián)[J].繼電器,2003,31(1):42~44