星期五, 9月 21, 2007

SQL mobile 遠端資料存取

資料來源:Mobile平台應用與開發

兩種同步資料的方式:
1.RDA(Remote Data Access)
(1)屬於同步資料中最簡單的模式
(2)RDA的資料同步皆是由客戶端發起,伺服端只是回應客戶端的請求。
(3)使用PULL方法,將遠端伺服器資料下載到本地SQL Mobile資料庫中;使用PUSH方法,將本地資料中的
改變提交回遠端SQL Server資料庫中。
(4)支援SubmitSQL方法,支援將一個SQL語法提交到遠端SQL Server資料庫中執行。
(5)SubmitSQL支援任何SQL語法,無法返回結果集。
(6)SubmitSQL主要用於執行insert,update,delete。
(7)RDA的PULL方法每次只能從SQL Server資料庫獲取依個結果集
(8)結果集會被保存成衣個資料表,再次呼叫PULL方法前,必須先刪除之前的資料表。
(9)多個用戶執行PUSH方法,RDA不會檢測資料衝突。

2.SQL Server Mobile Replication
(1)當行動裝置連上網時,設備端資料自動與資料庫伺服器同步,將客戶端修改發送到伺服器,然後下載被修
改的資料。
(2)有解決資料衝突的機制

3.RDA與Replication比較
(1)資料交換方面:Replication支援伺服端與客戶端的雙向資料傳遞,RDA只支援單向,即從客戶端到伺服
端,再從伺服端回到客戶端。
(2)同步資料表:Replication一次呼叫可以同步多個資料表;而RDA一次呼叫只能同步ㄧ個資料表。
(3)原資料改變方面:Replication中如果在Publisher中增加或刪除資料表,不需要重新進行資料初始化,
系統就可以自動將資料修改結果同步到Subscriber的SQL Mobile資料庫中。RDA不會自動將資料表同步
到客戶端。
(4)約束和索引:Replication支援的約束和索引會被自動複製到SQL Mobile資料庫中。RDA不會。
(5)資料衝突:Replication有解決衝突的機制。
(6)資料表架構變化:Replication中部份資料表架構變化可以被自動複製。
(7)工具支援:可以使用SQL Server Management Studio對Replication進行管理。
(8)伺服器設置:Replication需要對SQL Server資料庫進行設置,RDA不需要。
(9)儲存空間:Replication需要建立一個新的資料表對資料改變進行追蹤,會佔用比RDA更多空間。

沒有留言: