移動數據庫的產品——Microsoft SQLServer For CE
SQLServer For CE(下面簡稱SQL CE) 是微軟公司為掌上設備專門設計的移動數據庫,現在最新的版本為2.0。它的數據庫引擎大約占用1.2~1.6M的磁盤空間。但是SQLCE已經能夠執行大部分的SQL查詢處理,支持大部分SQL語句,開發者可以像使用SQL Server2000用戶接口那樣使用SQL CE。SQL CE為移動計算應用做了很多優化和取舍,大大加快了SQL語句的執行速度,提高了在低CPU頻率、低內存情況下運行的性能。而且,SQL CE能夠和SQL Server2000很好地配合,用戶只要通過少量的代碼就能實現移動數據庫到服務器的數據同步?,F在SQL CE能支持的更大數據量已經達到2G??梢哉f,SQLCE是移動GIS應用的一個很好的屬性數據庫選擇。
移動數據庫的實現的主題特性是要解決離線數據庫和 服務器端數據庫的同步問題,SQL CE的方式為遠程數據訪問的技術(RDA)以及合并復制技術 (merge replication),這里主要介紹前者。
所謂遠程數據訪問即Remote Data Access(簡稱為RDA),這項技術在WindowsCE2.11版本時已經存在,在SQL Server2000 For CE出現之后,它的功能又更加豐富了。利用這項技術我們可以利用各種 *** 環境,使PocketPC連接到遠程的SQL Server2000數據庫。如果用戶是之一次連接,則移動設備會從SQL Server2000上下載需要査詢的數據;如果不是之一次査詢,移動設備則會對比本地的數據庫和遠程數據庫中的內容,更新遠程數據庫中的信息。通過RDA技術可以完成下面四種類型的數據傳遞。
1.從服務器端下栽數據
添加微信好友, 獲取更多信息
復制微信號
當移動設備上的本地數據庫無內容時,可以通過RDA技術從遠程SQL Server2000 服務器下載初始化數據到本地SQLServerCE數據庫。例如,應用程序利用RDA技術下載終端用戶登錄數據和 產品原始數據到本地移動數據庫中,從而完成系統初始化。沒有這個最初的初始化步驟,系統將無法登錄。這個步驟將在后面的實例中詳細描述。
2.向服務器上傳數據
移動設備上的應用程序在初始化后,能夠讓操作員登錄并使用系統。在操作員錄人和采集的信息(例如GPS或條形碼的信息) 都將被保存在移動數據庫中,此時,又可以利用RDA技術將本地數據上傳到SQL Server2000服務器端。值得注意的是,我們在設計服務器端數據庫時,不能在參加同步的表中存在自增量字段,因為不同的移動設備會對表中同一個字段做自增,造成上傳數據失敗。
3.更新服務器端數據
有的時候,同一條記錄可能在多個移動設備上的數據庫和 服務器端的數據庫中都存在。這個時候服務器端的記錄以最后一次同步的移動設備中的記錄為準。
4.下達無返回的T-SQL命令操作遠程服務器(Submit SQL)
在移動設備上的應用程序能夠利用T-SQL的 命令遠程操作SQL Server2000數據庫。這項功能非常實用,我們通常需要在采集數據時記錄當前時間,但是如果存在多個移動設備的時候,各個移動設備的機器時間是不統一的,對此種情況的解決方案就是在每次數據同步時利用Submit SQL技術 刷新服務器時間并將這個時間下載設定為移動設備的時間:
Client端體現為移動設備應用程序。應用程序通過內置的SQL Server CE Client Agent 實現對本地移動數據宓的讀寫和查詢,同時SQL Server CE Client Agent還實現了和 遠程數編疰的同步Server端體現為IIS中間層和 SQLServer數據庫。IIS中間層也存在一個SQL Server CE Agent *** 程序,用來處理移動設備端的數據請求。SQL Server數據庫通過SQL ServerOLE DB Provider 底層接口對IIS傳送過來的數據加以處理。在安裝系統的時候,我們可以把IIS和SQL Server 2000裝在同一臺機器上,也可以分開安裝在不同機器上,中間用防火墻隔開。移動設備和服務器端主要通過HTTP協議發送T-SQL命令和傳遞數據。
前基于C/S結構平臺的實現硬件的主體主要為PDA,由于操作系統大部分為美國微軟公司的Windows CE,故相信采用功能強大且開發簡單的SQL CE作為 移動GIS的屬性數據庫的實現平臺不失為一個好 *** 。
相關鏈接
來源:開源地理空間基金會中文分會
來源鏈接:https://www.osgeo.cn/post/1b20a
本站聲明:網站內容來源于 *** ,如有侵權,請聯系我們,我們將及時處理。