RDA 實現 SQL CE 與 SQL SERVER 間數據存取 ?? |
尚未結案
|
digitraveler
初階會員 發表:89 回覆:91 積分:46 註冊:2005-06-01 發送簡訊給我 |
今天在研究手持裝置上的資料交換技術 , PPC程式與桌面PC進行通信的程式設計方式目前有兩種,1、利用Socket程式設計與桌面程式進行通信;2、利用RDA和Replication(複制)進行資料庫程式設計來完成與桌面SQL Server資料庫的存取; RDA 是其中比較簡單方法 , 提供 PULL 和 PUSH 兩個物件方法跟主機端交換資料 , 測試過程中一直遇到一個錯誤 The LocalTableName parameter is already specified. [,,,Table name,,] , 對照書上我的語法並沒有錯 , 為何執行都有這個錯誤 , 後來問 google 兄才知道...使用 PULL 物件方法把 SERVER 上的 TABLE 跟本地端 TABLE 做資料同步前 , 需先刪除本地端的目地TABLE , 刪掉本地端欲同步的目地 table 後 , 果然程式就 OK 了 (我手上三本書都沒提到這個 key point , 真是奇怪)
//要先刪除本地端 PLU 這個 TABLE , 下面這行指令才能執行成功 rda.Pull("PLU", "SELECT * FROM PLU", ConnString, RdaTrackOption.TrackingOn, "ErrorTable"); 不過我覺得很爆笑的是 ..... 搞了一天 , 以為 RDA 是什麼高深的資料同步技術 , 原來是先把本地端資料殺掉(清空) , 再從 SERVER 複製完整 TABLE 過來 , 那這種動作跟我自己先 DELETE FROM 本地端 TABLE 內容 , 再連到遠端 SELECT 所有資料後一筆筆 APPEND 回我本地端資料有何不同 ? 幹麻透過 RDA 機制 ? 而且這種同步法沒有意義 , 假設我來源 Table 內有十萬筆資料 , 第一次同步後 , 我希望以後只要同步異動過的部份 , 也許是幾十筆 , 也許是幾百筆 , 但上面這種先殺再複製的同步法 , 每次同步都是十萬筆在傳 , 真是覺得很奇怪 , 請有這方面經驗的前輩給予意見 .... 編輯記錄
digitraveler 重新編輯於 2007-07-13 17:29:02, 註解 無‧
digitraveler 重新編輯於 2007-07-13 17:39:30, 註解 無‧ digitraveler 重新編輯於 2007-07-13 22:47:37, 註解 無‧ |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |