999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

客運站數(shù)據(jù)遷移方法的研究

2010-08-06 09:37:24程世民
鐵路計算機應用 2010年11期
關鍵詞:二次開發(fā)數(shù)據(jù)庫系統(tǒng)

程世民

( 武漢大學經(jīng)濟與管理學院, 武漢430072 )

鐵路客票系統(tǒng)已經(jīng)在全國鐵路聯(lián)網(wǎng)運行了多年,圍繞客票系統(tǒng)這根主線,客運站有時會針對客票營銷、經(jīng)營管理等方面進行二次開發(fā),或者需要利用客票系統(tǒng)的一些基礎數(shù)據(jù)。為此,不同類型的數(shù)據(jù)庫之間的數(shù)據(jù)轉換就顯得尤其重要。鐵路客票系統(tǒng)后臺均采用Sybase Sqlserver數(shù)據(jù)庫,而基層客運站使用的最多的是Microsoft SqlServer數(shù)據(jù)庫,為了快速地進行兩庫之間的數(shù)據(jù)遷移而又不損失數(shù)據(jù)精度,武漢鐵路局武昌車站根據(jù)實際工作需要,研究出了一種利用前端開發(fā)工具(PowerBuilder)進行數(shù)據(jù)有效遷移的方法。

1 數(shù)據(jù)轉換概述

數(shù)據(jù)轉換就是從一個數(shù)據(jù)存儲體導入或導出數(shù)據(jù)到另一個數(shù)據(jù)存儲體中。對于SQL Server來說,轉換數(shù)據(jù)意味著將源數(shù)據(jù)存儲體中的數(shù)據(jù)輸入到SQL Server,或是從SQL Server輸出數(shù)據(jù)到目標數(shù)據(jù)存儲體中。在這兩個過程中,可以對數(shù)據(jù)進行變換,使其滿足簡單或復雜的輸入數(shù)據(jù)到目標數(shù)據(jù)存儲體中之前所必須解決的問題。

數(shù)據(jù)轉換執(zhí)行以下任務:

(1)向數(shù)據(jù)庫中加入數(shù)據(jù):輸入數(shù)據(jù)到數(shù)據(jù)庫中。

(2)存檔:加載數(shù)據(jù)庫備份,一種特殊的數(shù)據(jù)輸出形式(數(shù)據(jù)庫和日志被拷貝)。

(3)遷移數(shù)據(jù):改變數(shù)據(jù)表示,重構數(shù)據(jù)。

2 Microsoft SQL Server提供的用于數(shù)據(jù)轉換的方法

以下的SQL Server工具、語句和實用程序提供數(shù)據(jù)轉換功能:

(1)Transact-SQL語句INSERT和SELECT INTO。

(2)用于數(shù)據(jù)存檔的工具和語句。

(3)數(shù)據(jù)轉換服務(DTS)。

(4)成批復制程序(Bcp)和BULK INSERT語句。

INSERT語句用來向表中插入一行或多行。SELECT INTO語句用來創(chuàng)建新表并插入由查詢選定的行。以上兩個語句都有嚴格限制功能,只能用來插入(復制)少量的行。DTS的目的是在不同的數(shù)據(jù)存儲體之間進行數(shù)據(jù)的輸出、輸入和轉換。這一工具支持同種和異種的數(shù)據(jù)存儲體,它包含數(shù)個組件,是進行該類數(shù)據(jù)轉換的首選。Bcp(成批復制程序)是一個非常有用的實用程序,它可以從/向一個數(shù)據(jù)文件中復制SQL Server數(shù)據(jù)。因此,Bcp經(jīng)常被用來從一個關系數(shù)據(jù)庫管理系統(tǒng)(DBMS)向SQL Server數(shù)據(jù)庫中轉換大量的數(shù)據(jù)。

3 Sybase SQL Server提供用于數(shù)據(jù)轉換方法

武昌車站的系統(tǒng)配置為:HP UNIX,Sybase SQL Server12.0。提供的工具有:

(1)Transact-SQL語句INSERT和SELECT INTO。

(2)Isql實用程序。

(3)Bcp實用程序。

(4)安裝復制服務器。

IsQL是Sybase SQL Server提供的一個非常實用的應用程序,在與數(shù)據(jù)庫交互時非常方便,利用其-i和-o選項,可以利用提前生成好的批處理.sql文件進行批量傳輸數(shù)據(jù)。Sybase的復制服務器解決方法主要是為高速的、基于事務的復制設計的,用于監(jiān)視數(shù)據(jù)庫的事務日志,一旦一個事務日志被標記,它就被提交給數(shù)據(jù)庫,利用該方法需要較高的專業(yè)知識,配置也較為困難。

4 數(shù)據(jù)遷移實例

在實際工作中,若單獨使用上述DBMS提供的數(shù)據(jù)轉換工具會有許多局限,而且要實現(xiàn)自動編程很困難,尤其是在異構數(shù)據(jù)庫間實現(xiàn)自動復制數(shù)據(jù)很困難。現(xiàn)以武昌車站為例介紹數(shù)據(jù)遷移的實例。武昌車站要根據(jù)客票系統(tǒng)中的售票銷售存根二次開發(fā)進行月度售票員業(yè)績獎金掛鉤考核,根據(jù)車站制定的銷售策略(如不同季節(jié)的長短途銷售張數(shù),本局和外局銷售客票收入等)按收入萬元單價或銷售張數(shù)千張單價由系統(tǒng)自動計算完成。獎金考核系統(tǒng)需從客票系統(tǒng)Sybase SQL Server中遷移數(shù)據(jù)(基礎車次、停靠站表及月度售票存根表)到另一個Microsoft SQL Server系統(tǒng)中(車站根據(jù)售票存根進行二次開發(fā)以便對每名售票員月度業(yè)績進行考核和獎金掛鉤),應用開發(fā)用到了客戶端數(shù)據(jù)庫開發(fā)工具PowerBuilder6.5,利用該工具提供的Data Pipe Object(數(shù)據(jù)管道對象)進行編程、實現(xiàn)。

4.1 任務

從A系統(tǒng)(基于UNIX的Sybase SQL Server客票系統(tǒng))向B系統(tǒng)(基于Windows2000的Microsoft SQL Server的武昌車站信息服務系統(tǒng))復制A系統(tǒng)的實時應用數(shù)據(jù)庫表(共700多張)。

4.2 實現(xiàn)方法

利用客戶端開發(fā)開具PowerBuilder提供的數(shù)據(jù)管道對象(Data PipeLine)在兩個數(shù)據(jù)源間建立連接、按規(guī)則建立管道對象和復制策略、設定相關參數(shù)屬性,形成最終應用,進行數(shù)據(jù)復制。經(jīng)測試,復制效率可達到:2 000行/s,比其它方法的效率高出很多。

4.3 實現(xiàn)步驟

(1)創(chuàng)建數(shù)據(jù)管道,統(tǒng)一用p_表名命名,以便以后用循環(huán)處理。創(chuàng)建時在MAX_ERROR處選擇NO_LIMIT,COMMIT ROWS選擇1000,并選中EXTEND ATTIBUTES,最重要的是若為第1次使用此應用,可以在TABLE和Key處選用默認值,在OPTIONS處選中Create-Add Table,這樣的話就可以在B系統(tǒng)中完全創(chuàng)建同A系統(tǒng)中的表(連帶擴展屬性)。

(2)在PowerBuilder的數(shù)據(jù)庫畫板中創(chuàng)建兩個數(shù)據(jù)源con_sourceA和con_sourceB,用以連接A系統(tǒng)和B系統(tǒng)。

(3)創(chuàng)建DataPipe對象:p_pipe,設置3個文本屬性值:st_read,st_write,st_error,用以記載數(shù)據(jù)傳輸過程中讀、寫和出錯的行數(shù),實例化該對象:p_pipe i_p_pipe。

(4)在PB中創(chuàng)建主界面,如圖1。需循環(huán)處理的表名數(shù)據(jù)窗口、出錯顯示的數(shù)據(jù)窗口、開始按鈕、退出按鈕和提示文本框等。

圖1 PB中創(chuàng)建的主界面

現(xiàn)將開始按鈕的主要部分腳本代碼列出如下:

//實例化變量

iPipe = create pipe_obj

//初始化

……

//連接源數(shù)據(jù)庫SQLCA

//連接目的數(shù)據(jù)庫SQLCB

iPipeReturn = iPipe.Start(SQLCA,SQLCB,dw_error)

IF iPipeReturn <> 1 THEN

GOTO Label_Error

END IF

……

//正常復制完表后,進行一些善后處理(斷開數(shù)據(jù)庫、變量復位等)

st_1.TEXT = "復制表:"+sTable-Name+"完成!"

(5)編譯形成最終應用。

4.4 本應用的優(yōu)點

(1)可方便地在不同的DBMS之間復制數(shù)據(jù)且不改變源DBMS中的表的各項屬性。

(2) 可靈活地添加需復制的表,可靈活地選擇復制方式(Create<創(chuàng)建方式>或Refresh:Delete/Insert<刷新方式>)。

(3) 靈活地容錯及設置事務的功能。

4.5 本應用的擴展

在實際工作中還遇到若B系統(tǒng)與A系統(tǒng)除了DBMS不同外,且IP不在同一個網(wǎng)段該怎么樣實現(xiàn)DBMS之間的數(shù)據(jù)轉換呢?比如:

A:客票應用主系統(tǒng)→Unix,Sybase

B:武昌車站客運服務信息系統(tǒng)→Win2000,Sqlserver

C:武昌車站網(wǎng)站系統(tǒng)→Win2000,Sqlserver(與A、B不同網(wǎng)段)

若需從A→C遷移數(shù)據(jù),此時可以:

(1) 建立應用,先用B做中間代理,先對B復制數(shù)據(jù)。

(2) 利用前面提到的快速復制工具Bcp,在B中將數(shù)據(jù)形成本地硬盤文件。

(3) 用ftp將B中的本地硬盤文件數(shù)據(jù)打包上傳至C系統(tǒng)。

(4) 對包展開。

(5) 再次利用Bcp將展開后的硬盤文件復制到C系統(tǒng)中的DBMS中,此時Bcp的命令行參數(shù)要用in。

5 結束語

客運站還有許多方面需要用到數(shù)據(jù)遷移,隨著客票系統(tǒng)自身的發(fā)展和完善,圍繞客票系統(tǒng)的二次開發(fā)應用也會越來越豐富。

數(shù)據(jù)遷移還涉及到數(shù)據(jù)格式、數(shù)據(jù)存儲、數(shù)據(jù)精度等多個方面,在上述方法的基礎上如何將本系統(tǒng)繼續(xù)擴展至XML、WebService等還需要做進一步地研究和細化。

[1] 中華人民共和國鐵道部.鐵路旅客運輸規(guī)程[S] . 北京:中國鐵道出版社,2007.

[2] 孫玫肖. 售票應用中的常見問題及解決方法[J] . 鐵路計算機應用,2002,11(7).

猜你喜歡
二次開發(fā)數(shù)據(jù)庫系統(tǒng)
Smartflower POP 一體式光伏系統(tǒng)
WJ-700無人機系統(tǒng)
ZC系列無人機遙感系統(tǒng)
北京測繪(2020年12期)2020-12-29 01:33:58
淺談基于Revit平臺的二次開發(fā)
甘肅科技(2020年20期)2020-04-13 00:30:02
淺談Mastercam后處理器的二次開發(fā)
模具制造(2019年3期)2019-06-06 02:11:02
西門子Easy Screen對倒棱機床界面二次開發(fā)
連通與提升系統(tǒng)的最后一塊拼圖 Audiolab 傲立 M-DAC mini
數(shù)據(jù)庫
財經(jīng)(2017年2期)2017-03-10 14:35:35
數(shù)據(jù)庫
財經(jīng)(2016年15期)2016-06-03 07:38:02
數(shù)據(jù)庫
財經(jīng)(2016年3期)2016-03-07 07:44:46
主站蜘蛛池模板: 福利在线不卡| 2021国产精品自产拍在线观看| 无码久看视频| 欧美成一级| 免费xxxxx在线观看网站| 无码AV高清毛片中国一级毛片| 免费看美女毛片| 国产91av在线| 欧美成a人片在线观看| 亚洲国产中文精品va在线播放| 国产高清无码麻豆精品| 亚洲成人免费在线| 久久久久人妻一区精品| 四虎成人精品在永久免费| 欲色天天综合网| 免费jjzz在在线播放国产| 国产丰满成熟女性性满足视频| 青草精品视频| 熟妇丰满人妻av无码区| 欧美精品不卡| 久久久久亚洲精品成人网 | 精品无码视频在线观看| 国产欧美日韩18| 亚洲IV视频免费在线光看| 亚洲人成网站色7777| 国产第一页屁屁影院| 国模私拍一区二区| 亚洲欧美日韩天堂| 亚洲欧美人成人让影院| 久久久久久国产精品mv| 精品视频在线一区| 亚洲视频二| 在线欧美一区| 亚洲综合在线网| 最近最新中文字幕免费的一页| 久久综合色视频| 国产丝袜第一页| 中国国产一级毛片| 久久婷婷综合色一区二区| 精品天海翼一区二区| 国产在线精品人成导航| 嫩草国产在线| 欧洲熟妇精品视频| 亚洲精选高清无码| 色综合婷婷| 一本色道久久88亚洲综合| 国产一区二区三区在线观看视频| 伊人久久大香线蕉成人综合网| 亚洲国产亚洲综合在线尤物| 国产精品理论片| 丁香婷婷久久| 超清人妻系列无码专区| 无码av免费不卡在线观看| 韩国福利一区| 九九热视频精品在线| 欧美一区二区精品久久久| 欧美精品v| P尤物久久99国产综合精品| 日本黄色不卡视频| 亚洲精品第五页| 国产亚洲高清视频| AV天堂资源福利在线观看| 亚洲熟女中文字幕男人总站| 成人国产三级在线播放| 亚洲香蕉在线| 色综合久久88| 日本在线视频免费| 亚洲综合一区国产精品| 精品久久久久久久久久久| 92午夜福利影院一区二区三区| 亚洲水蜜桃久久综合网站| 91成人免费观看| 在线99视频| 亚洲国产欧美自拍| 老司机精品一区在线视频| 一本一道波多野结衣av黑人在线| 亚洲天堂成人在线观看| 91亚洲视频下载| 欧美日本激情| 久久77777| 亚洲欧美国产五月天综合| 99热这里都是国产精品|