Poprawka: "podana wartość narusza ograniczenia integralności kolumny lub tabeli" błąd, jeśli publikacja korespondencji seryjnej zawiera wiele artykułów i ograniczenia programu SQL Server Compact 3.5

Dotyczy: SQL Server Compact 3.5 Service Pack 2

Symptomy


Rozpatrzmy następujący scenariusz:
  • Microsoft SQL Server Compact 3.5 można zainstalować na komputerze.
  • Do tworzenia subskrybenta SQL Server Compact 3.5.
  • Możesz pobrać wiele wierszy z publikacji korespondencji seryjnej do bazy danych podczas synchronizacji z subskrybentem. Wiersze zawierają wiele artykułów i ograniczenia.
W takim przypadku komunikat o błędzie podobny do następującego jest rejestrowane w dzienniku błędów programu SQL Server:
Błąd System.Data.SqlServerCe.SqlCeExceptionNative = 0, HRESULT =-2147217873 komunikat o błędzie: podana wartość narusza ograniczenia integralności kolumny lub tabeli.
Uwaga Ten problem występuje zarówno w 32-bitowym systemie operacyjnym, jak i 64-bitowy system operacyjny.

Przyczyna


Ten problem występuje, ponieważ identyfikator Nieprawidłowa wymiana jest używany. Gdy wielu wierszy do pobrania znajdują się w stanie oczekiwania, Compact agenta klienta SQL wywołuje metodę retry, która używa identyfikatora programu exchange nieprawidłowy. W związku z tym występuje problem, który jest wymieniony w sekcji "Symptomy".

Rozwiązanie


Poprawka rozwiązująca ten problem znajduje się w pakiecie zbiorczej aktualizacji 5 dla programu SQL Server Compact 3.5 Service Pack 2 (SP2). Aby uzyskać więcej informacji dotyczących sposobu uzyskiwania zbiorczego pakietu aktualizacji 5 dla programu SQL Server Compact 3.5 z dodatkiem SP2 kliknij następujący numer artykułu w celu wyświetlenia tego artykułu z bazy wiedzy Microsoft Knowledge Base:
2553608 5 aktualizację zbiorczą dla programu SQL Server Compact 3.5 z dodatkiem Service Pack 2