如果合併式發行集包含許多文件和條件約束,SQL Server Compact 3.5 修正: 」 所指定的數值違反欄位或資料表的完整性條件約束 」 錯誤

文章翻譯 文章翻譯
文章編號: 2585082 - 檢視此文章適用的產品。
全部展開 | 全部摺疊

徵狀

請考慮下列案例:
  • 您執行 32 位元作業系統的電腦上安裝 Microsoft SQL Server Compact 3.5。
  • 您可以建立 「 訂閱者 」 中 SQL Server Compact 3.5。
  • 您下載多個資料列從合併式發行集資料庫時 「 發行者 」 與 「 訂閱者 」 進行同步處理。資料列包含許多文件和條件約束。
在這個案例中,SQL Server 錯誤記錄檔會記錄類似下列的錯誤訊息:
System.Data.SqlServerCe.SqlCeException
原生錯誤 = 0,HRESULT =-2147217873,錯誤訊息: 指定的值違反資料行或資料表的完整性條件約束。

發生的原因

無效的 exchange ID 的使用,就會發生這個問題。

SQL 壓縮用戶端代理程式處於擱置狀態執行 32 位元作業系統的電腦上下載的多個資料列時,呼叫的重試方法,會使用不正確的 exchange id。因此,就會發生 「 徵狀 〉 一節所描述的問題。

解決方案

累積更新套件 5 所包含可解決這個問題的 hotfix 的 SQL Server Compact 3.5 Service Pack 2 (SP2)。

如需有關如何取得累積更新套件 5 SQL Server Compact 3.5 sp2 的詳細資訊,請按一下下面的文件編號,檢視 「 Microsoft 知識庫 」 中的文件:
2553608 為 SQL Server 的累積更新 5 Compact 3.5 服務套件 2

其他可行方案

若要解決這個問題,請指定發行項的處理順序是合併發行項中的資料列的循序順序。資料庫管理員可以使用以嘗試錯誤的方法來尋找資料列中的合併發行項的循序順序。

備忘稿
  • 如果文件會下載按照順序,就是合併發行項中的資料列的循序順序,較少資料列加入重試佇列。
  • [@ processing_order =] processing_order 引數會決定文件會下載在合併式發行集的順序。[ Processing_order 參數是整數資料型別。如果 0 預設值 Processing_order 使用參數,未排序的相關文件。當 Processing_order 參數不是 0則此值表示相關的文件是序數值。時,處理發行項,序數的值遞增順序來處理它們。如果發行項有相同的值,這些文件的處理順序由字母順序排列的儲存在文件暱稱 sysmergearticles 系統資料表。
  • 如需詳細資訊 processing_order 參數,請造訪下列 MSDN 網站:
    Processing_order 參數的一般資訊
  • 如需有關合併發行項的處理順序的詳細資訊,請造訪下列 MSDN 網站:
    合併發行項的處理順序的一般資訊

屬性

文章編號: 2585082 - 上次校閱: 2011年8月12日 - 版次: 1.0
這篇文章中的資訊適用於:
  • Microsoft SQL Server Compact 3.5
關鍵字:?
kbqfe kbexpertiseadvanced kbfix kbsurveynew kbmt KB2585082 KbMtzh
機器翻譯
重要:本文是以 Microsoft 機器翻譯軟體翻譯而成,而非使用人工翻譯而成。Microsoft 同時提供使用者人工翻譯及機器翻譯兩個版本的文章,讓使用者可以依其使用語言使用知識庫中的所有文章。但是,機器翻譯的文章可能不盡完美。這些文章中也可能出現拼字、語意或文法上的錯誤,就像外國人在使用本國語言時可能發生的錯誤。Microsoft 不為內容的翻譯錯誤或客戶對該內容的使用所產生的任何錯誤或損害負責。Microsoft也同時將不斷地就機器翻譯軟體進行更新。
按一下這裡查看此文章的英文版本:2585082
Microsoft及(或)其供應商不就任何在本伺服器上發表的文字資料及其相關圖表資訊的恰當性作任何承諾。所有文字資料及其相關圖表均以「現狀」供應,不負任何擔保責任。Microsoft及(或)其供應商謹此聲明,不負任何對與此資訊有關之擔保責任,包括關於適售性、適用於某一特定用途、權利或不侵權的明示或默示擔保責任。Microsoft及(或)其供應商無論如何不對因或與使用本伺服器上資訊或與資訊的實行有關而引起的契約、過失或其他侵權行為之訴訟中的特別的、間接的、衍生性的損害或任何因使用而喪失所導致的之損害、資料或利潤負任何責任。

提供意見

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com