本文介紹如何在 Pocket PC (PPC) 上透過 Remote Data Access (RDA) 技術,實現 SQL Server CE 2.0 與桌面端 SQL Server 2000 的資料存取與同步。開發環境採用 Visual Basic .NET 2003 進行智慧裝置專案開發。
行動裝置資料同步的兩大路徑
- Socket 程式設計: 透過 TCP/IP 傳輸字串、整數、位元組等基礎型別,若需傳輸型別化資料須自行封裝,且需撰寫桌面端服務程式查詢資料庫並回傳結果,開發負擔重。
- RDA / 合併複寫: 利用 SQL Server CE 內建機制,像操作本地資料庫一樣存取遠端桌面資料庫,大幅簡化開發。
SQL Server CE 架構與關鍵組件
- 三大典型環境: 開發端(VS.NET + Pocket PC SDK)、用戶端(PPC 裝置,可透過 ActiveSync 連線)、伺服器端(IIS + SQL Server,可同機或分離部署)。
- 核心組件:
- 資料庫引擎:管理裝置端儲存,追蹤增刪改操作。
- CE Client Agent(裝置端):含複寫物件、RDA 物件、引擎,控制連線與同步。
- CE Server Agent(伺服器端):接收 HTTP/HTTPS 請求,轉呼叫 SQL Server,回傳結果集,全程依賴 IIS。
- 支援網路: 乙太網、無線 LAN/WAN、ActiveSync 底下序列埠/紅外線/USB 連線。
RDA 物件特性
RDA 為 ActiveX 控制項,提供可程式化存取遠端 SQL Server 2000/7.0 的介面,讓開發者在 PPC 上像操作本地資料庫一樣簡單地 Pull/Push 資料,適合偶爾連線、資料量中小型的同步場景。
開發流程概覽
- 建立 Smart Device 專案,引用
System.Data.SqlServerCe 命名空間。
- 配置 IIS 虛擬目錄對應
sqlce ISAPI 擴充。
- 使用
SqlCeRemoteDataAccess 類別設定 InternetUrl、LocalConnectionString、RemoteConnectionString。
- 呼叫
Pull() 將遠端資料下載至本地 CE 資料表;呼叫 Push() 上傳本地變更。
RDA 以 HTTP 為傳輸協定,部署簡單、開發效率高,是行動應用快速原型與輕量同步的首選方案。