КОРЕКЦИЯ: "зададената стойност нарушава целостта на ограниченията за таблица или колона" грешка ако обединяване публикацията съдържа много статии и ограничения в SQL Server компактен 3.5

Прилага се за: SQL Server Compact 3.5 Service Pack 2

Симптоми


Да разгледаме следния сценарий:
  • Инсталирате Microsoft SQL Server Compact 3.5 на компютъра.
  • Можете да създадете абонат в SQL Server компактен 3.5.
  • Изтегляте много редове от публикация за обединяване с база данни, докато publisher се синхронизира с абонат. Редовете съдържат много статии и ограничения.
В този случай в регистрационния файл за грешки на SQL Server се регистрира съобщение за грешка, подобно на следното:
System.Data.SqlServerCe.SqlCeExceptionNative грешка = 0, HRESULT =-2147217873, съобщение за грешка: зададената стойност нарушава целостта на ограниченията за таблица или колона.
Забележка Този проблем възниква в 32-битова операционна система и 64-битова операционна система.

Причина


Този проблем възниква, защото невалиден exchange ИД се използва. Когато много редове за изтегляне в Чакащо състояние, SQL Compact агент на клиент изисква опитай метод, който използва невалиден exchange ИД. Поради това възниква проблемът, описан в раздела "Симптоми".

Решение


Актуалната корекция, която разрешава този проблем е включен в сборния пакет за актуализация 5 за SQL Server Compact 3.5 Service Pack 2 (SP2). За повече информация как да получите сборния пакет за актуализация 5 за SQL Server Compact 3.5 SP2 щракнете върху следния номер на статия в базата знания на Microsoft:
2553608 Сборна актуализация 5 за SQL Server компактен 3.5 Service Pack 2