2009-02-09 62 views
2

這裏需要一點建議。我們在移動設備上使用.NET Compact框架和SQL CE進行一些Windows移動開發,並在客戶辦公室使用中央SQL 2005數據庫。目前我們使用合併複製技術來同步數據。Mobile/PDA + SQL Server數據同步

最近我們已經與同步拋出錯誤,通常是一個有點靠不住的一些惱人的問題。這是因爲在複製問題上似乎有限的信息。這表明這不是一種常用的技術。

所以,我只是想知道,如果複製是去同步數據,還是有更可靠的方法呢?我正在考慮Web服務或者類似的東西。你們用什麼來實現這個解決方案?

戴夫

回答

0

我沒有使用複製了很多,但我已經用它,我還沒有與此有關的問題。事情是,你需要仔細設置。無論使用哪種方法,您需要決定管理所有各種可能情況的規則 - 兩個數據庫中的更改等。

如果您對「通常有點不可靠」有更具體的描述,我會得到更多有用的建議。正如我所能說的,我沒有遇到任何問題。

編輯:下面給出我你的反應會只想說,你當然可以與使用SSIS或其他一些方法的自定義複製去,但肯定有商店赫然出現在生產環境中成功地使用了複製。

0

以及我們已經發生的錯誤,是一個真正的痛苦固定兩次: -

的插入失敗。它與數據庫'egScheduler'中的身份範圍檢查約束,複製表'dbo.tblServiceEvent',列'serviceEventID'衝突。如果身份列由複製自動管理,請按如下所示更新範圍:對於發佈者,執行sp_adjustpublisheridentityrange;對於訂購者,運行分銷代理或合併代理。

當我們嘗試運行存儲過程時,它與身份混淆,所以現在當我們嘗試同步它時,會在複製監視器中引發以下錯誤。

行操作不能因完整性衝突重新應用。檢查出版物過濾器。 [,,,表,操作,RowGuid](來源:MSSQLServer,錯誤號:28549)

我們也有一些問題是快照變得無效,但這些相對容易修復。然而,所有這些讓我懷疑複製是否是我們在此嘗試做的最好的方法,或者是否是一種更簡單的方法。這是促使我原來的問題。

+0

您是否嘗試增加受影響表格的插入範圍? – 2009-02-09 18:48:01

0

我們在類似的情況的工作,但我們的介入與編程工具,在斷開連接的樣板工程,並運行在Windows桌面上......我們使用SQL Server精簡版的客戶端和Microsoft SQL Server 2005與服務器解決方案的Web服務。

要啓用同步服務,我們最初通過建立我們自己的同步框架開始,但保持在這一框架中同步與系統的其餘部分許多問題之後,我們選擇去與微軟同步框架。 (http://msdn.microsoft.com/en-us/sync/default.aspx僅供參考)。我們最初的要求是使應用程序與安裝其他軟件包(如Intuit QuickBooks)一樣易於使用,我認爲我們已經取得了很大的成功。

微軟的同步框架有其起伏,但我現在可以說的唯一不好的事情是文檔是可怕的。

我們現在正在討論決定是否繼續使用它或返回維護我們自己的同步子系統。 YMMV,但對我們來說,這是對問題的快速解決。

0

你絕對推動CE的穩定性信封,不是嗎?

當我這樣做時,我發現它需要添加相當數量的衝突容忍度,因爲沒有像同步異步數據收集那樣考慮它,而是間歇性地相互更新和/或刷新。特別是,我總是避免使用標識列來處理任何事情。如果您可以嚴格遵循基於真實(而不是代理)數據的真正主鍵,它會讓事情變得更容易。有時候包含SourceUnitNumber和timestamp的PK運行良好。

如果可以,將遠程收集的數據視爲累計按時間順序排列的事務的簡單時間戳,源代碼,用戶化日誌。換個角度來說,主機提供了永不需要返回的靜態驗證信息 - 而是發回CRUD事務。

回發這是怎麼回事。我很感興趣的是看到任何可靠的微軟技術。

0

TomH & le dorfier - 我認爲我們的問題的一部分是我們允許客戶將大量行插入具有標識字段的複製表格之一中。其調度應用程序可以自動執行多個任務,達到指定的月份/年份。其中一次失敗的是他們進入桌子15000行的時間。我們將研究增加身份範圍。

同步框架聽起來很有趣,但它聽起來像有一個類似的問題複製文檔不佳的複製。試圖尋找複製幫助是一個噩夢,我不確定我們希望我們轉移到類似的問題。希望M'soft停止發佈似乎受beta版本軟件支持的東西!