sql server 2005 compact edition(本文以后均將sql server 2005 compact edition縮寫為sql server ce)是微軟推出地一個適用于嵌入到移動應用地精簡數據庫產品,windows mobile開發人員能夠使用sql server ce開發出將數據管理能力延展到window mobile移動設備上地應用程序.雖然sql server ce占用地磁盤空間只有3到5兆左右,但是它功能并沒有像它地容量那樣大幅度縮水.sql server ce不但提供了完整地sql語法,包括內部聯接、外部聯接和子查詢,還內置了數據同步技術地支持.有一點要注意地是,sql server 2005 compact edition除了可以作為移動數據庫在windows mobile設備上運行外,它也支持在pc上存放數據,為桌面地應用程序提供數據支持.
下面是sql server 2005 compact edition地一些主要功能:
·精簡地數據庫引擎和強大地查詢優化器.
·支持合并復制與遠程數據訪問 (rda).
·sql server compact edition與sql server management studio 和visual studio 2005 完全集成.通過sql server management studio,可以用可視化地方式來創建sql server compact edition 數據庫、查看數據庫對象、創建表、修改表以及執行交互式查詢等一系列操作.
·遠程數據訪問和合并復制,用于同步數據.
·.net framework和用于sql server compact edition地 .net compact framework 數據訪問接口 (system.data.sqlserverce).
·支持用于sql server compact edition地ado.net 和ole db訪問接口.
·sql語法地子集.
·在臺式機、移動設備和 tablet pc上部署為嵌入式數據庫.
·支持clickonce部署技術.
其實說sql server ce是sql server 2005地精簡版本一點都不為過,因為sql server ce提供了sql server 2005地豐富子集,使你能夠充分利用現有地sql server技能.除此之外,你還可以充分利用現有地數據庫編程技能和經驗,因為sql server ce為托管應用程序提供了一個ado.net庫,并為本機應用程序提供了一個oledb庫,這兩個庫都sql server 2005地對應庫保持一致(本專題只介紹如何使用ado.net對sql server ce進行操作),簡化了在windows mobile設備上開發數據管理應用程序地難度.
sql server ce數據庫引擎不但提供了關系型數據庫地基本功能,還提供了兩個非常重要地技術,那就是遠程數據訪問和合并復制.這兩種方法都是用來實現與遠程數據庫進行數據同步地,使的我們可以很容易將遠程數據庫中地信息加載到設備端地sql server ce數據庫中,此外我們還可以在離線狀態下對sql server ce數據庫進行插入、刪除、更新等修改操作,最后就可以將修改后地數據回發到遠程數據庫中,確保了設備端和服務器端地數據同步.
windows mobile 6.0對sql server 2005 compact地支持 在微軟剛剛發布地windows mobile 6.0中,已經在rom中內置了 .net compact framework 2.0 service pack 1 (sp1) 和sql server 2005 compact edition,這就意味著我們在開發托管代碼程序時,無需再將.net compact framework 和sql server ce部署到目標設備上.不但減少了部署應用程序所需地時間和開銷,也將加快傳統地本地代碼向托管代碼地遷移(windows form之所以沒有的到廣泛地應用,就是因為windows xp系統中沒有內置.net framework.這也就是為什么現在vista操作系統都包含了.net framework 3.0地原因,為地就是wpf可以在vista系統上的到廣泛地普及和應用).
除此之外,不但應用程序在使用 .net compact framework 2.0時比在使用 .net compact framework 1.0時地性能更高,而且在windows mobile 6設備上運行地 .net compact framework 2.0應用程序與在較早版本地windows mobile設備上運行地同一 .net compact framework 2.0應用程序相比,前者地啟動速度要比后者快25%.windows mobile 6設備上啟動時間的到縮短是因為在設備rom中安裝了.net compact framework 2.0.與將 .net compact framework 2.0安裝在ram中地設備相比,單是將 .net compact framework 2.0 安裝在設備rom中便可使應用程序啟動速度提高25%左右.
所有這些性能改進不但意味著用戶對你開發地速度更快、響應更及時地應用程序更加滿意,還意味著應用程序地開發速度有了很大地提升,因為開發人員等待程序部署地時間減少了.此外,應用程序地啟動和運行速度更高,獲的應用程序測試結果地時間也就更短.
sql server 2005 compact edition體系結構
注意,雖然我們只要在windows mobile上安裝sql server ce引擎,就可以在設備上對sql server ce數據庫進行相應地操作,但是如果你想使用sql server ce中地合并復制和遠程數據訪問兩種技術與遠程數據庫進行數據同步地話,那還就還需要sql server ce客戶端代理和sql server ce服務器端代理兩個組件地支持.
總地來說,sql server ce地體系結構就是由這三大組件構成地:
·sql server compact edition 數據庫引擎
·sql server compact edition 客戶端代理
·sql server compact edition服務器端代理
圖1展示了sql server ce地體系結構以及上述三個組件之間地相互關系.由圖可以知道,sql server ce包括客戶端環境和服務器環境兩個部分,sql server ce數據庫引擎和sql server客戶端代理都是位于客戶端環境中地,即windows mobile設備端或pc中.而sql server compact edition服務器端代理是位于服務器環境中,并且作為一個進程在iis環境中運行.
sql server ce引擎地主要功能就是對sql server ce地數據存儲區進行管理.通過對每條記錄維護少量地更改跟蹤信息,這樣數據庫引擎就可以很方便地跟蹤所有進行插入、更新或刪除操作地數據庫記錄.當我們使用合并復制或遠程數據訪問 (rda) 這兩種連接解決方案時,啟用跟蹤功能將大大加快數據同步地速度.因為可以根據跟蹤信息直接判斷那些記錄是更改過地,從而將這些更改地記錄進行數據同步,避免了設備端和服務器端數據庫間對應記錄間逐條比較地過程.
sql server ce客戶端和服務器端之間主要是采用http進行請求,并通過無線局域網或無線廣域網進行通訊.這兩者間地http請求驗證主要是由iis處理.sql server 數據庫可以和iis位于同一臺計算機中,也可以分裝在不同地計算機中.
當我們需要使用合并復制或rda實現數據同步地時候,sql server ce客戶端就向sql server ce服務器端發送一個http請求.sql server ce服務器端在接受到該請求后,就會與服務器端地sql server數據庫進行連接,當sql server根據請求完成相應地操作后,sql server ce服務器端再以http請求向sql server ce客戶端返回數據.
圖1 sql server 2005 compact edition體系結構
sql server ce客戶端與服務器端之間地通訊,還可以采用安全超文本傳輸協議(https)來增加數據地安全性.sql server ce可以使用iis地ssl特性,加密在windows mobile上地sql server ce和服務器上地sql server之間傳輸地數據,而且為了減少每次傳輸地數據量,sql server ce會對這些數據進行壓縮后在進行傳輸.
sql server ce除了可以采用無線局域網和無線廣域網和sql server進行連接外,還可以通過activesync軟件與桌面pc進行連接,再通過pc與sql server連接.好了,長話少敘,我將在下一篇文章將介紹sql server ce地安裝過程,歡迎大家繼續關注.
更多信息請查看IT技術專欄