SQL Server 2005 CE基礎(chǔ)概要
導(dǎo)讀:SQL Server 2005 是一個全面的數(shù)據(jù)庫平臺,使用集成的商業(yè)智能 (BI) 工具提供了企業(yè)級的數(shù)據(jù)管理。SQL Server 2005 數(shù)據(jù)庫引擎為關(guān)系型數(shù)據(jù)和結(jié)構(gòu)化數(shù)據(jù)提供了更安全可靠的存儲功能,使您可以構(gòu)建和管理用于業(yè)務(wù)的高可用和高性能的數(shù)據(jù)應(yīng)用程序。那么SQL Server 2005 CE這種數(shù)據(jù)庫推出的新產(chǎn)品是怎么樣的呢?下文為大家詳細(xì)介紹。
SQL Server 2005 Compact Edition(本文以后均將SQL Server 2005 Compact Edition縮寫為SQL Server CE)是微軟推出的一個適用于嵌入到移動應(yīng)用的精簡數(shù)據(jù)庫產(chǎn)品,Windows Mobile開發(fā)人員能夠使用SQL Server CE開發(fā)出將數(shù)據(jù)管理能力延展到Window Mobile移動設(shè)備上的應(yīng)用程序。雖然SQL Server CE占用的磁盤空間只有3到5兆左右,但是它功能并沒有像它的容量那樣大幅度縮水。SQL Server CE不但提供了完整的SQL語法,包括內(nèi)部聯(lián)接、外部聯(lián)接和子查詢,還內(nèi)置了數(shù)據(jù)同步技術(shù)的支持。有一點(diǎn)要注意的是,SQL Server 2005 Compact Edition除了可以作為移動數(shù)據(jù)庫在Windows Mobile設(shè)備上運(yùn)行外,它也支持在PC上存放數(shù)據(jù),為桌面的應(yīng)用程序提供數(shù)據(jù)支持。
下面是SQL Server 2005 Compact Edition的一些主要功能:
- 精簡的數(shù)據(jù)庫引擎和強(qiáng)大的查詢優(yōu)化器。
- 支持合并復(fù)制與遠(yuǎn)程數(shù)據(jù)訪問 (RDA)。
- SQL Server Compact Edition與SQL Server Management Studio 和Visual Studio 2005 完全集成。通過SQL Server Management Studio,可以用可視化的方式來創(chuàng)建SQL Server Compact Edition 數(shù)據(jù)庫、查看數(shù)據(jù)庫對象、創(chuàng)建表、修改表以及執(zhí)行交互式查詢等一系列操作。
- 遠(yuǎn)程數(shù)據(jù)訪問和合并復(fù)制,用于同步數(shù)據(jù)。
- .NET Framework和用于SQL Server Compact Edition的 .NET Compact Framework 數(shù)據(jù)訪問接口 (System.Data.SqlServerCe)。
- 支持用于SQL Server Compact Edition的ADO.NET 和OLE DB訪問接口。
- SQL語法的子集。
- 在臺式機(jī)、移動設(shè)備和 Tablet PC上部署為嵌入式數(shù)據(jù)庫。
- 支持ClickOnce部署技術(shù)。
其實(shí)說SQL Server CE是SQL Server 2005的精簡版本一點(diǎn)都不為過,因?yàn)镾QL Server CE提供了SQL Server 2005的豐富子集,使你能夠充分利用現(xiàn)有的SQL Server技能。除此之外,你還可以充分利用現(xiàn)有的數(shù)據(jù)庫編程技能和經(jīng)驗(yàn),因?yàn)镾QL Server CE為托管應(yīng)用程序提供了一個ADO.NET庫,并為本機(jī)應(yīng)用程序提供了一個OLEDB庫,這兩個庫都SQL Server 2005的對應(yīng)庫保持一致(本專題只介紹如何使用ADO.NET對SQL Server CE進(jìn)行操作),簡化了在Windows Mobile設(shè)備上開發(fā)數(shù)據(jù)管理應(yīng)用程序的難度。
SQL Server CE數(shù)據(jù)庫引擎不但提供了關(guān)系型數(shù)據(jù)庫的基本功能,還提供了兩個非常重要的技術(shù),那就是遠(yuǎn)程數(shù)據(jù)訪問和合并復(fù)制。這兩種方法都是用來實(shí)現(xiàn)與遠(yuǎn)程數(shù)據(jù)庫進(jìn)行數(shù)據(jù)同步的,使得我們可以很容易將遠(yuǎn)程數(shù)據(jù)庫中的信息加載到設(shè)備端的SQL Server CE數(shù)據(jù)庫中,此外我們還可以在離線狀態(tài)下對SQL Server CE數(shù)據(jù)庫進(jìn)行插入、刪除、更新等修改操作,***就可以將修改后的數(shù)據(jù)回發(fā)到遠(yuǎn)程數(shù)據(jù)庫中,確保了設(shè)備端和服務(wù)器端的數(shù)據(jù)同步。
Windows Mobile 6.0對SQL Server 2005 Compact的支持
在微軟剛剛發(fā)布的Windows Mobile 6.0中,已經(jīng)在ROM中內(nèi)置了 .NET Compact Framework 2.0 Service Pack 1 (SP1) 和SQL Server 2005 Compact Edition,這就意味著我們在開發(fā)托管代碼程序時,無需再將.NET Compact Framework 和SQL Server CE部署到目標(biāo)設(shè)備上。不但減少了部署應(yīng)用程序所需的時間和開銷,也將加快傳統(tǒng)的本地代碼向托管代碼的遷移(Windows Form之所以沒有得到廣泛的應(yīng)用,就是因?yàn)閃indows XP系統(tǒng)中沒有內(nèi)置.NET Framework。這也就是為什么現(xiàn)在Vista操作系統(tǒng)都包含了.NET Framework 3.0的原因,為的就是WPF可以在Vista系統(tǒng)上得到廣泛的普及和應(yīng)用)。
除此之外,不但應(yīng)用程序在使用 .NET Compact Framework 2.0時比在使用 .NET Compact Framework 1.0時的性能更高,而且在Windows Mobile 6設(shè)備上運(yùn)行的 .NET Compact Framework 2.0應(yīng)用程序與在較早版本的Windows Mobile設(shè)備上運(yùn)行的同一 .NET Compact Framework 2.0應(yīng)用程序相比,前者的啟動速度要比后者快25%。Windows Mobile 6設(shè)備上啟動時間得到縮短是因?yàn)樵谠O(shè)備ROM中安裝了.NET Compact Framework 2.0。與將 .NET Compact Framework 2.0安裝在RAM中的設(shè)備相比,單是將 .NET Compact Framework 2.0 安裝在設(shè)備ROM中便可使應(yīng)用程序啟動速度提高25%左右。
所有這些性能改進(jìn)不但意味著用戶對你開發(fā)的速度更快、響應(yīng)更及時的應(yīng)用程序更加滿意,還意味著應(yīng)用程序的開發(fā)速度有了很大的提升,因?yàn)殚_發(fā)人員等待程序部署的時間減少了。此外,應(yīng)用程序的啟動和運(yùn)行速度更高,獲得應(yīng)用程序測試結(jié)果的時間也就更短。
SQL Server 2005 Compact Edition體系結(jié)構(gòu)
注意,雖然我們只要在Windows Mobile上安裝SQL Server CE引擎,就可以在設(shè)備上對SQL Server CE數(shù)據(jù)庫進(jìn)行相應(yīng)的操作,但是如果你想使用SQL Server CE中的合并復(fù)制和遠(yuǎn)程數(shù)據(jù)訪問兩種技術(shù)與遠(yuǎn)程數(shù)據(jù)庫進(jìn)行數(shù)據(jù)同步的話,那還就還需要SQL Server CE客戶端代理和SQL Server CE服務(wù)器端代理兩個組件的支持。
總的來說,SQL Server CE的體系結(jié)構(gòu)就是由這三大組件構(gòu)成的:
- SQL Server Compact Edition 數(shù)據(jù)庫引擎
- SQL Server Compact Edition 客戶端代理
- SQL Server Compact Edition服務(wù)器端代理
圖1展示了SQL Server CE的體系結(jié)構(gòu)以及上述三個組件之間的相互關(guān)系。由圖可以知道,SQL Server CE包括客戶端環(huán)境和服務(wù)器環(huán)境兩個部分,SQL Server CE數(shù)據(jù)庫引擎和SQL Server客戶端代理都是位于客戶端環(huán)境中的,即Windows Mobile設(shè)備端或PC中。而SQL Server Compact Edition服務(wù)器端代理是位于服務(wù)器環(huán)境中,并且作為一個進(jìn)程在IIS環(huán)境中運(yùn)行。
SQL Server CE引擎的主要功能就是對SQL Server CE的數(shù)據(jù)存儲區(qū)進(jìn)行管理。通過對每條記錄維護(hù)少量的更改跟蹤信息,這樣數(shù)據(jù)庫引擎就可以很方便的跟蹤所有進(jìn)行插入、更新或刪除操作的數(shù)據(jù)庫記錄。當(dāng)我們使用合并復(fù)制或遠(yuǎn)程數(shù)據(jù)訪問 (RDA) 這兩種連接解決方案時,啟用跟蹤功能將大大加快數(shù)據(jù)同步的速度。因?yàn)榭梢愿鶕?jù)跟蹤信息直接判斷那些記錄是更改過的,從而將這些更改的記錄進(jìn)行數(shù)據(jù)同步,避免了設(shè)備端和服務(wù)器端數(shù)據(jù)庫間對應(yīng)記錄間逐條比較的過程。
SQL Server CE客戶端和服務(wù)器端之間主要是采用HTTP進(jìn)行請求,并通過無線局域網(wǎng)或無線廣域網(wǎng)進(jìn)行通訊。這兩者間的HTTP請求驗(yàn)證主要是由IIS處理。SQL Server 數(shù)據(jù)庫可以和IIS位于同一臺計(jì)算機(jī)中,也可以分裝在不同的計(jì)算機(jī)中。
當(dāng)我們需要使用合并復(fù)制或RDA實(shí)現(xiàn)數(shù)據(jù)同步的時候,SQL Server CE客戶端就向SQL Server CE服務(wù)器端發(fā)送一個HTTP請求。SQL Server CE服務(wù)器端在接受到該請求后,就會與服務(wù)器端的SQL Server數(shù)據(jù)庫進(jìn)行連接,當(dāng)SQL Server根據(jù)請求完成相應(yīng)的操作后,SQL Server CE服務(wù)器端再以HTTP請求向SQL Server CE客戶端返回?cái)?shù)據(jù)。
圖1 SQL Server 2005 Compact Edition體系結(jié)構(gòu)
SQL Server CE客戶端與服務(wù)器端之間的通訊,還可以采用安全超文本傳輸協(xié)議(HTTPS)來增加數(shù)據(jù)的安全性。SQL Server CE可以使用IIS的SSL特性,加密在Windows Mobile上的SQL Server CE和服務(wù)器上的SQL Server之間傳輸?shù)臄?shù)據(jù),而且為了減少每次傳輸?shù)臄?shù)據(jù)量,SQL Server CE會對這些數(shù)據(jù)進(jìn)行壓縮后在進(jìn)行傳輸。
SQL Server CE除了可以采用無線局域網(wǎng)和無線廣域網(wǎng)和SQL Server進(jìn)行連接外,還可以通過ActiveSync軟件與桌面PC進(jìn)行連接,再通過PC與SQL Server連接。這就是我要為大家介紹的SQL Server CE的基礎(chǔ)知識哦,希望通過本文的學(xué)習(xí)大家都能夠很好的熟悉SQL Server CE,對于初學(xué)者來說,本文具有很高的學(xué)習(xí)價值,供大家參考。
【編輯推薦】
- 總結(jié)Win2003 Server與SQL Server 2005的遠(yuǎn)程連接過程
- SQL Server 2008自動化數(shù)據(jù)采集方法
- 在SQL Server下使用數(shù)據(jù)庫鏈接