功能
下面是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資料庫進行插入、刪除、更新等修改操作,最後就可以將修改後的數據回發到遠程資料庫中,確保了設備端和伺服器端的數據同步。
Mobile 6.0的支持
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連線