《電子技術應用》
您所在的位置:首頁 > 嵌入式技術 > 設計應用 > 嵌入式數據庫SQL Server CE在圖書外采查重系統中的應用
嵌入式數據庫SQL Server CE在圖書外采查重系統中的應用
來源:微型機與應用2010年第10期
王 杰
(廣東廣播電視大學 計算機系,廣東 廣州510091)
摘要: 將嵌入式數據庫SQL Server CE應用于圖書外采查重系統。介紹了Windows Mobile與SQL Server CE相結合的信息系統設計過程,包括數據庫建立、開發環境以及客戶端與服務器環境搭建。詳細闡述了基于遠程數據訪問的數據同步實現,圖書查重系統設計方法。對嵌入式系統的開發具有一定的參考價值。
Abstract:
Key words :

摘  要:嵌入式數據庫SQL Server CE應用于圖書外采查重系統。介紹了Windows Mobile與SQL Server CE相結合的信息系統設計過程,包括數據庫建立、開發環境以及客戶端與服務器環境搭建。詳細闡述了基于遠程數據訪問數據同步實現,圖書查重系統設計方法。對嵌入式系統的開發具有一定的參考價值。
關鍵詞: 嵌入式數據庫;SQL Server CE;數據同步;遠程數據訪問;圖書外采;查重

    圖書采購是圖書館日常工作的重要內容,隨著讀者信息需求的不斷提高,圖書館需要到書市或書店現場采購圖書,面對大量不同專業和類別的圖書,很容易重復采購。目前圖書外采查重方法有人工記憶查重、計算機二次查重、筆記本電腦查重、數據采集器查重、遠程登錄查重等。但在圖書外采現場,由于空間狹窄,缺乏網絡和電源支持,常用的幾種查重方法都各有優缺點。
    圖書外采查重的關鍵是在外采現場能準確獲取館藏圖書數據,避免重復采購。本文設計的圖書外采查重系統基于Windows Mobile智能手機,將嵌入式數據庫SQL Server CE應用到系統設計中,實現智能手機的存儲數據與圖書館數據同步,采購人員由此掌握館藏信息,快速準確地識別和記錄圖書信息,防止圖書重復采購。
1 嵌入式數據庫系統開發
1.1 SQL Server 2005 Compact Edition

    嵌入式數據庫是指可以在嵌入式移動設備上運行的數據庫,SQL Server 2005 Compact Edition(簡稱SQL Server CE)是當前比較流行的嵌入式數據庫系統之一,是運行于Windows Mobile下的關系數據庫系統。SQL Server CE為移動設備提供了一個壓縮的數據庫解決方案,可以將SQL Server 2000/2005(簡稱SQL Server)大型數據庫的管理能力擴展到移動設備上。
    SQL Server CE以很小的內存(3 MB~5 MB)開銷提供了精簡的關系數據庫,具有強大的數據存儲、優化的查詢處理,以及可靠、可擴展和可調整的連接等功能,并為開發人員的快速應用程序開發提供了一致的編程接口(OLEDB、ADO.NET)。SQL Server CE是創建企業級的 Windows Mobile 離線數據解決方案。
1.2 開發環境
    智能手機是指具有開放式操作系統的手機,開發人員可根據操作系統提供的應用編程接口為手機開發各種擴展功能。智能手機操作系統主要有Symbian、Windows Mobile、Linux、Palm OS、Android、Mac OS X、BlackBerry、OMS等。其中,Windows Mobile是微軟為智能手機推出的操作系統,將用戶熟悉的桌面Windows擴展到移動設備上。Windows Mobile操作系統包括Pocket PC、Smart Phone及Pocket PC Phone(簡稱PPC),其中PPC主要用于掌上電腦型智能手機。本文圖書外采查重系統設計就選用PPC平臺。
    應用于Windows Mobile智能手機操作系統的開發語言有Java(J2ME)、C++、Embedded VB、Embedded VC、C#等。圖書外采查重系統選用Visual Studio.NET 2008集成開發環境、C#開發語言。C#是一種強大、簡單、面向對象的編程語言,是微軟新一代開發工具Visual Studio.NET的經典編程語言,C#既保持了C++的語法,還包含了大量的高效代碼和面向對象特性,為開發人員帶來更高效的開發環境。
    微軟在推出智能手機操作系統后,考慮手機的硬件條件制約,推出了.Net Framework的精簡版,這就是.NET Compact Framework[1],在開發環境中安裝Visual Studio.NET 2008簡體中文版,同時安裝.NET Compact Framework 3.5以及仿真設備、SDK等。
1.3 客戶端與服務器環境
    SQL Server CE的運行環境是典型的客戶端/服務器環境,如圖1所示。客戶端環境是Windows Mobile應用程序的運行環境,也是SQL Server CE數據庫的運行環境,通過微軟Activesync程序(使用USB、串口、藍牙或Wi-Fi網絡)可以將智能手機連接到服務器環境;服務器環境是運行Internet信息服務(簡稱IIS)和SQL Server數據庫的環境,IIS和SQL Server既可以運行在一臺機器上,也可以運行在不同的機器上。SQL Server CE與SQL Server之間可以通過遠程數據訪問RDA(Remote DataAccess)和合并復制(Replication)兩種方式進行數據同步。

1.4 遠程數據訪問RDA
    圖書館都有圖書館自動化集成系統,數據都存儲在大型數據庫系統中,例如Oracle、SQL Server 2000/2005、Sybase等。在任何一個分布式移動應用環境中,移動設備與數據中心的數據交互是要解決的重點問題,在系統設計中,如何實現智能手機中的數據庫與圖書館數據庫一致最為關鍵,這就是數據同步。
    SQL Server CE數據庫通過IIS和遠程數據訪問RDA與SQL Server數據庫進行通信,遠程數據訪問RDA為智能手機應用程序訪問SQL Server數據庫提供了一種簡單的訪問方式,可以將SQL Server數據庫的數據下載到智能手機的SQL Server CE數據庫中,也可以將智能手機的數據寫入到SQL Server 數據庫中,這樣就實現了數據同步,RDA非常適合開發離線數據解決方案。
    圖書外采查重系統使用遠程數據訪問RDA技術實現了數據同步,RDA主要由SQL Server CE數據庫引擎、SQL Server CE客戶端代理和SQL Server CE服務器端代理三部分組成。并且RDA提供了如下三個主要方法實現SQL Server CE與SQL Server數據同步。
    (1)Pull方法:將SQL Server數據庫中的表“拉”到SQL Server CE中。在調用此方法時,可以設置數據跟蹤選項,如果設置數據跟蹤,則SQL Server CE數據庫引擎會自動跟蹤對數據的插入、修改和刪除操作。
    (2)Push方法:如果在Pull時設置了數據跟蹤選項,可以將SQL Server CE中的數據“推”回到SQL Server中,在SQL Server CE中對數據的任何修改都會反映到SQL Server中。
    (3)SubmitSQL方法:直接向SQL Server數據庫提交一個命令。
2 系統設計與實現
2.1 建立數據庫

    嵌入式數據庫SQL Server CE的數據存儲在一個擴展名為.SDF的文件中,SQL Server CE 只支持一次一個鏈接,但多個命令可以共享同一鏈接。.NET Compact Framework下開發SQL Server CE統一使用System.Data.SqlServerCe.DLL[2],該DLL封裝的命名空間和類是一致的,在VS2008下開發默認使用的.NET Compact Framework版本是3.5,默認使用的SQL Server CE版本是3.5,一般存放在C:\Program Files\Microsoft SQL Server Compact Edition\v3.5\Devices\路徑下。在智能手機上創建一個空的本地SQL Server CE數據庫,建立數據庫程序代碼如下:
     //創建SQL Server CE數據庫文件LIBRARY.SDF
     using System.Data.SqlServerCe;
    string strConn="DATASOURCE="+dbPath+@"\LIBRARY.SDF";
    SqlCeEngine engine=new SqlCeEngine(strConn);
    engine.CreateDatabase();
    engine.Dispose();
2.2 數據同步
    數據同步功能指通過遠程數據訪問RDA從圖書館自動化集成系統SQL Server數據庫將藏書數據下載到智能手機的LIBRARY.SDF數據庫中。遠程數據訪問RDA需要用到.NET Compact Framework 3.5中System.Data.SqlServerCe命名空間中的SqlCeRemoteDataAccess類[3-4],數據同步程序代碼如下:
    //引用命名空間SqlCeRemoteDataAccess
    using SqlCeRemoteDataAccess;
    //實例化并配置遠程數據訪問
//SQLCeRemoteDataAccess對象
    SqlCeRemoteDataAccess rda=new SqlCeRemoteDataAccess();
    rda.InternetUrl="http://216.210.98.2/SQLServerMobile/
SQLcesa30.dll";
    rda.InternetLogin="IISUserName";
    rda.InternetPassword="IISPassword";
    rda.LocalConnectionString="DATASOURCE="+dbPath+
@"\LIBRARY.SDF";
    //從SQL Server數據庫中同步數據
    rda.Pull("Books","SELECT ISBN,Title,Author,BookConcern,Amount FROM Books","Provider=SQLOledb;Server=LIS_Server;Database=LIS;uid=GD;pwd=GD;",RdaTrackOption.TrackingOnWithIndexes,"ErrorTable");
2.3 圖書查重設計
    通過遠程數據訪問RDA將圖書館自動化集成系統中的藏書數據同步到智能手機的數據庫LIBRARY.SDF中,圖書外采時,智能手機應用程序鏈接SQL Server CE數據庫LIBRARY.SDF,檢索Books數據表中是否有相關圖書記錄。
    開發手機數據庫程序所用到的控件和類與開發桌面數據庫程序具有相似性,如SqlCeConnection對應SqlConnection,SqlCeDataAdapter對應SqlDataAdapter,SqlCeCommand對應SqlCommand等。圖書外采查重系統基于.NET Compact Framework3.5設計,要在智能手機上創建、管理和查詢SQL Server CE數據庫,必須在程序中添加對System.Data.SqlServerCe的引用,圖書查重程序代碼如下:
    //命名空間System.Data.SqlServerCe    using System.Data.SqlServerCe;
    //創建SqlCeConnection對象,鏈接數據庫文件LIBRARY.SDF
    SqlCeConnection objCeConnection=new SqlCeConnection("DATASOURCE="+dbPath+@"\LIBRARY.SDF");
    objCeConnection.Open();    //根據ISBN號,生成圖書查詢SQL語句
    SQLText = "SELECT×FROM Books WHERE ISBN="+txtISBN.Text;
    //創建SqlCeCommand對象
    SqlCeCommand objCeCommand=new SqlCeCommand(objCeConnection);
    objCeCommand.CommandText=SQLText;
    //創建SqlCeDataReader對象
    SqlCeDataReader objCedr=objCeCommand.ExecuteReader();
    //查詢館藏圖書是否存在
    if (!objCedr.Read())
        {  listBox.Items.Add("館藏沒有ISBN號=
"+txtISBN.Text+"圖書,可以采購。");}
    else
        {
        listBox.Items.Add("ISBN號:"+objCedr["ISBN"].ToString());
        listBox.Items.Add("書名:"+objCedr["Title"].ToString());
        listBox.Items.Add("作者:"+objCedr["Author"].ToString());
        listBox.Items.Add("出版社:"+objCedr["BookConcern"].ToString());
        listBox.Items.Add("藏書數量:"+objCedr["Amount"].ToString()+"本");
        listBox.Items.Add("館藏圖書已有,建議不要采購!");
        }
3 系統應用情況
3.1 系統功能

    圖書外采查重系統功能包括圖書查重、參數設置、數據管理等。
    參數設置主要是設置遠程訪問SQL Server數據庫的用戶名和密碼,訪問IIS的用戶名和密碼參數,以及系統應用背景圖片、信息提示等,如圖2所示。


    圖書查重方式有根據ISBN號查重和根據書名、作者、出版社等組合查重[5],其中根據ISBN號查重方式是主要查重方式。ISBN是國際標準書號International Standard Book Number的簡稱,通常每本書都有全球唯一的ISBN號,通過帶有藍牙接口的條碼槍掃描圖書ISBN條形碼,就可以檢索數據庫中的圖書,如果有,就會顯示館藏圖書的詳細信息,同時發出“嘀嘀嘀”的語音提示,圖書查重界面如圖3所示。

3.2 系統應用
    圖書外采查重系統應用流程是:外出購書前,工作人員將圖書館自動化集成系統中的最新藏書數據同步到智能手機,生成數據庫文件LIBRARY.SDF,拷貝到智能手機存儲卡中。圖書外采時,工作人員在智能手機上通過查重系統檢索LIBRARY.SDF數據庫中是否有相關的圖書記錄,由于查重是在智能手機上進行,不需要網絡連接,因此速度很快。
    系統設計成功運行于多普達S700智能手機,操作系統Windows Mobile 6.1簡體中文版,主頻500 MHz,256 MB ROM、128 MB RAM、4 GB存儲卡,2.8英寸、66536色TFT彩色屏幕、分辨率240×320像素。
    本文設計的圖書外采查重系統操作簡單、體積小、重量輕、方便攜帶,不需要網絡和外接電源支持(可配多塊電池),省時、省力、準確、高效,可以適應復雜的圖書外采現場,達到事半功倍的效果。應用嵌入式數據庫SQL Server CE存儲數據,數據存儲量大,通過數據同步,智能手機與館藏圖書信息直接對接,準確掌握館藏圖書數據,防止圖書重復采購。系統設備投資不高(一部中檔Windows Mobile智能手機約2 000元左右),收效顯著,是適用于圖書館外采查重的最佳方案。
參考文獻
[1] PAUL Y,DAVID D著..NET精簡框架程序設計——C#版[M].劉新軍,盛泉,李辛鶴,譯.北京:電子工業出版社,2006.
[2] 顏友寧..Net Compact Framework移動開發指南[M].北京:清華大學出版社,2006.
[3] 張晶,李心廣.SQL Server Mobile數據庫的開發與設計[J]. 計算機應用與軟件,2008(8):48-50.
[4] 呂剛.通用圖書查重系統研制開發設計原理及其實現方法[J].圖書館論壇,2005(2):74-76.
[5] 連宇江.淺論現場圖書采購查重的實現方式[J].科技文獻信息管理,2006(1):6-10.
[6] 王輝,馬維華.基于SQL Server CE數據同步技術的研究與實現[J].計算機技術與發展,2008(4):232-235.

此內容為AET網站原創,未經授權禁止轉載。
亚洲一区二区欧美_亚洲丝袜一区_99re亚洲国产精品_日韩亚洲一区二区
在线亚洲精品| 久久久久国产一区二区三区四区 | 久久精品国产99国产精品澳门| 一区二区三区视频观看| 日韩视频免费看| 亚洲精品视频一区二区三区| 最新国产の精品合集bt伙计| 亚洲黄页视频免费观看| 亚洲国产高清在线| 亚洲电影第1页| 在线看国产一区| 在线成人小视频| 亚洲国产婷婷香蕉久久久久久99 | 亚洲一区二区三区四区在线观看| 日韩性生活视频| 日韩五码在线| 艳妇臀荡乳欲伦亚洲一区| 日韩午夜激情av| 一区二区三区日韩精品视频| 国产精品99久久久久久www| 一个色综合导航| 亚洲一区二区三区久久| 亚洲女同在线| 久久狠狠亚洲综合| 久久亚洲欧美| 欧美激情国产高清| 欧美日韩亚洲天堂| 国产精品伦子伦免费视频| 国产精品欧美一区喷水| 国产日韩精品在线播放| 国产在线不卡视频| …久久精品99久久香蕉国产 | 一区二区三区免费看| 亚洲综合国产| 久久成人av少妇免费| 久久午夜精品一区二区| 欧美成人资源网| 欧美片网站免费| 国产精品久久久久久久久| 国产欧美精品日韩精品| 一区精品在线| 日韩五码在线| 午夜视频一区在线观看| 亚洲精华国产欧美| 亚洲一区免费网站| 久久婷婷国产综合国色天香| 欧美福利电影在线观看| 欧美三级日韩三级国产三级| 国产日韩欧美日韩| 亚洲国产精品嫩草影院| 一区二区三区免费网站| 篠田优中文在线播放第一区| 91久久极品少妇xxxxⅹ软件| 一本久久综合亚洲鲁鲁五月天 | 久久全国免费视频| 欧美日韩1区2区3区| 国产精品一级二级三级| 影音先锋成人资源站| 这里只有视频精品| 欧美一区二区女人| 在线视频中文亚洲| 久久国产高清| 欧美日韩成人一区二区| 国产欧美一区二区三区在线看蜜臀 | 亚洲女女女同性video| 亚洲黄色影院| 欧美一区日韩一区| 欧美激情一区二区三区不卡| 国产欧美日韩在线| 91久久久在线| 欧美一区二区在线免费播放| 夜久久久久久| 久久久青草婷婷精品综合日韩| 欧美日韩高清一区| 国内精品免费在线观看| 亚洲性视频网站| 日韩视频在线播放| 久久久久成人精品免费播放动漫| 欧美日韩天堂| 伊大人香蕉综合8在线视| 亚洲小说区图片区| 9色国产精品| 免费成人你懂的| 国产欧美一区二区三区久久人妖| 亚洲人成毛片在线播放| 久久电影一区| 久久aⅴ国产欧美74aaa| 欧美日韩综合网| 亚洲国产三级| 亚洲国产女人aaa毛片在线| 欧美在线观看一二区| 欧美日韩情趣电影| 亚洲第一精品福利| 久久精品亚洲热| 久久国产精品亚洲va麻豆| 欧美午夜三级| 亚洲精品日韩久久| 最新国产精品拍自在线播放| 久久久久久久综合色一本| 国产老肥熟一区二区三区| 99精品欧美一区| 日韩亚洲国产欧美| 欧美电影在线免费观看网站| 国内精品久久久久久久影视蜜臀 | 在线一区二区三区做爰视频网站| 你懂的国产精品| 狠狠色丁香婷综合久久| 欧美亚洲一区三区| 欧美一区网站| 国产伦精品一区二区三| 亚洲午夜视频在线观看| 亚洲综合视频网| 欧美视频在线免费看| 99热免费精品在线观看| a4yy欧美一区二区三区| 欧美全黄视频| 亚洲免费观看高清完整版在线观看| 91久久精品一区| 欧美1区2区3区| 1000精品久久久久久久久| 亚洲精品国精品久久99热| 嫩草伊人久久精品少妇av杨幂| 在线观看91精品国产入口| 久久精品夜色噜噜亚洲a∨ | 久久国产一区| 国产一区二区三区高清播放| 性欧美在线看片a免费观看| 欧美在线电影| 国产自产在线视频一区| 亚洲第一在线| 免费亚洲一区| 最新亚洲电影| 亚洲天堂av在线免费| 国产精品扒开腿做爽爽爽软件| 亚洲午夜视频| 久久久久99| 亚洲第一页在线| 99热精品在线观看| 欧美午夜不卡影院在线观看完整版免费| 一本大道久久a久久精二百| 亚洲欧美日韩一区在线| 国产欧美日韩视频一区二区| 欧美一级大片在线观看| 看片网站欧美日韩| 亚洲精品一区二区三区四区高清 | 一区二区在线观看视频在线观看| 亚洲国产天堂久久综合网| 欧美激情一区在线| 亚洲视频www| 欧美主播一区二区三区美女 久久精品人| 国产亚洲欧美一区二区| 亚洲福利视频专区| 欧美精品三级日韩久久| 在线亚洲电影| 久久精品在线免费观看| 亚洲欧洲在线观看| 午夜精品久久久久久久| 国产综合激情| 99re6热只有精品免费观看| 国产精品你懂的在线| 久久激情视频免费观看| 欧美韩日一区| 亚洲午夜久久久久久久久电影网| 久久国产精品亚洲va麻豆| 亚洲福利国产| 亚洲在线观看免费视频| 好看的亚洲午夜视频在线| 99pao成人国产永久免费视频| 国产精品免费久久久久久| 久久福利精品| 欧美午夜大胆人体| 久久精品网址| 国产精品豆花视频| 亚洲国产欧美另类丝袜| 欧美性猛交xxxx免费看久久久 | 亚洲一区二区三区在线看| 久久亚洲综合网| 在线综合亚洲| 蜜臀av在线播放一区二区三区| 99精品国产在热久久下载| 久久久综合网| 在线视频一区二区| 免费欧美日韩| 亚洲自拍都市欧美小说| 欧美精品在线网站| 久久爱www久久做| 欧美午夜视频在线观看| 亚洲国产高清视频| 国产精品视频久久一区| 亚洲精品美女久久7777777| 国产嫩草影院久久久久 | 国产精品嫩草99av在线| 亚洲精品一区二区在线观看| 国产欧美日韩专区发布| 夜夜嗨av色综合久久久综合网 | 午夜在线一区| 欧美日韩亚洲高清一区二区| 亚洲国产精品久久久久婷婷884| 国产精品综合色区在线观看| 一区二区三区久久久|