SQL CE 3.5, Microsoft.Synchronization.Data.SqlServerCe 3.1 및 MSSQL 2008을 사용하고 모든 삽입에 대해 ApplyChangeFailed 이벤트와 동일한 예외가 발생합니다 ServerSyncProvider를 참조하십시오.동기화 오류 : "SQL Server 변경 내용 추적이 정리되었습니다 ..."
"SQL Server 변경 내용 추적은 테이블의 추적 정보를 지 웠습니다. '' '% s' '' '.이 오류를 복구하려면 클라이언트가 다음을 수행해야합니다. 로컬 데이터베이스를 다시 초기화하고 다시 동기화를 시도하십시오. " 행 삽입 할 때
나는 SQL의이 조각을 가지고 : "CHANGE_TRACKING_MIN_VALID_VERSION (OBJECT_ID (N ''[TargetMetricValue] ''))> @sync_last_received_anchor의 RAISERROR (N''SQL 서버 변경 내용 추적이 에 대한 추적 정보를 정리 한 경우 이 오류를 복구하려면 클라이언트가 로컬 데이터베이스를 다시 초기화하고 다시 동기화해야합니다. '', 16,3, N ''[TargetMetricValue] '') "및 "@ sync_last_received_anchor = 0"
CHANGE_TRACKING_MIN_VALID_VERSION (object_id (N "[TargetMetricValue] '))은 146113을 반환하고 위의 예외가 throw됩니다.
ServerSyncProvider 클래스 메서드에서 ApplyChanges는 => serverSyncProvider.ApplyChanges (groupMetadata, dataSet, syncSession)라고합니다.
groupMetadata.NewAnchor = NULL, groupMetadata.TablesMetadata [0] = NULL .LastReceivedAnchor.Anchor, groupMetadata.TablesMetadata [0] = .LastSentAnchor.Ancor 바이트 [] {127,35,6,0,0,0, 0,0}
I는 LastReceivedAnchor가 sync_last_received_anchor 관련된 내기하지만 syncAgent.Synchronize 호출 한 후 유효한 값을 얻을 해달라고() I가 null하세요 GetTableSentAnchor 대한 I 값 바이트를 얻을 GetTableReceivedAnchor SqlCeClientSyncProvider 방법에서도
[] {127,35,6,0,0,0,0,0}.그렇다면 그 값에 대해 null (0)이 누락 될 수 있습니다. 첫 번째 의견에 따라
UPDATE : 그것은 연결 문자열 등의 app.config에 선언의 xyz.sdf 내가 초기 CE의 DB 파일이
: '이름을 추가 = "인 localConnection"를 ConnectionString = "데이터 소스 = | DataDirectory를 | \ 데이터 \ xyz.sdf, 최대 데이터베이스 크기 = 3968 "의 providerName ="System.Data.SqlServerCe.3.5 " '
그것은이 코드로 초기화 것 :
public SyncAgent()
{
systemTables = new List<string> {"__syncArticles", "__syncSubscriptions", "__syncTransactions"};
ClientSyncProvider = new SqlCeClientSyncProvider(ConfigurationManager.ConnectionStrings["localConnection"].ConnectionString, true);
LocalProvider = ClientSyncProvider;
InitializeAllSyncTables();
}
클라이언트 데이터베이스를 어떻게 초기화 했습니까?로컬 데이터베이스 캐시 마법사를 사용하여 Sync Fx 코드를 생성 했습니까? 아니면 직접 코드를 입력 했습니까? – JuneT
미리 정의 된 sdf 파일입니다. 게시물 업데이트에 대한 자세한 내용이 있습니다. –
여하튼, 보존 및 정리 창을 늘려 보셨습니까? http://social.microsoft.com/Forums/en-US/syncgeneral/thread/cc3d49e0-f188-4d93-b2dd-473137ae9fc6 및 http://www.sqlmonster.com/Uwe/Forum을 이미 보았을 수 있습니다. aspx/sql-server-ce/3911/MSFT-Client-must-reinintialize-database-error –