什麼是Sql Server Compact Edition(Sqlce)?其實Sqlce已經出現有一段時間了,在之前是Sql Server 2005 Mobile edition,後來改為Sql Server compact edition.
到目前最新的版本是Sqlce V3.5 SP1,以Visual Studio開發工具來說VS2005是直接支援了Sqlce V3.1,而VS2008則是直接支援Sqlce V3.5(請注意是沒有SP1的版本)。
在開發相關的應用程式時,要記得確認/更新一下Sqlce組件的參考。
那麼等到程式開發完成之後,在行動裝置上也必須要安裝Sqlce的Runtime,而相關的cab位置就在C:\Program Files\Microsoft SQL Server Compact Edition\v3.5\Devices資料夾中,在資料夾中會看到wce400、wce500、Client的資料夾,其中wce400跟wce500就是放Sqlce runtime的相關檔案,而Client資料夾裡面放的是如果你需要直接從裝置連線到MS Sql Server的話,那麼必須在安裝Client資料夾中的檔案。
進到wce500(這邊以這個版本為例),你會看到很多資料夾,這邊就要依照你平台類型去選擇,以模擬器來說的話是ArmV4i這個資料夾,進到裡面之後也是會看到好多個檔案,一下子還真搞不懂到底是要幹啥用的。這邊做個簡單的說明,檔案部分大致可以歸類為三種
1. sqlce.ppc.xxx / sqlce.phone.xxx
這個就是sqlce core,主要的runtime,一定要安裝才能順利運作
2. sqlce.dev.xxx
這個是sql的工具,類似Management Studio工具的東西,不過跑在裝置上是簡單型的
3. sqlce.repl.xxx
這是要用到覆寫相關的功能的話就必須要安裝
Sqlce.dev工具安裝好之後就會在Mobile裝置上有像下圖的工具可以使用,直接點sdf檔案之後就可以叫出來了。
這邊要特別提一下,Sqlce 3.5的資料庫檔案,如果你要打開來編輯內容或是操作等等,必須要使用VS2008或是Sql server 2008的工具,VS2005跟Sql server 2005的工具是沒有支援編輯sqlce 3.5的資料庫檔案的。
那麼如果有舊版本的資料庫檔案(例如3.1版本的),在sqlce 3.5的環境上,他會告訴你資料庫檔案的版本不符合,那麼要如何升級資料庫檔案呢?我們可以利用程式來升級,例如下面的方式(記得要加入相關的參考)
Try
Dim en AsNew SqlServerCe.SqlCeEngine("Data Source =" & GetAppPath() & "\Northwind.sdf")
en.Upgrade()
Catch ex As Exception
''錯誤處理
EndTry
接下來就是對資料庫的實際操作了,在裝置上對於sqlce的操作跟在桌上型的操作是相當類似的,所以大致上都能夠通用。要特別注意的部分就是資料庫的連線字串設定以及一些T-SQL的語法。
bauann@dotblog