Asked by:
Overflow Exception

Question
-
Hi
We have successfully implemented data base sync in one of our project and most of the clients are happy with what we have done and they all have a 64 bit machine. Howecver we have a client who is using 64 bit windows 7 machine and during the incremental sync process we are getting the following error
Error in GetChanges()Value was either too large or too small for a UInt64
I am using "RelationalSyncProvider" and Sync Framework version 2.1
Here is the stack trace
System.OverflowException: Value was either too large or too small for a UInt64. at System.Int64.System.IConvertible.ToUInt64(IFormatProvider provider) at System.Convert.ToUInt64(Object value, IFormatProvider provider) at Microsoft.Synchronization.Data.SyncUtil.ParseTimestamp(Object obj, UInt64& timestamp) at Microsoft.Synchronization.Data.SqlServer.SqlSyncScopeHandler.GetLocalTimestamp(IDbConnection connection, IDbTransaction transaction) at Microsoft.Synchronization.Data.SqlServer.SqlSyncScopeHandler.ReadScope(IDbConnection connection, IDbTransaction transaction, ReadKnowledgeType readType, ReadForgottenKnowledgeType readFKtype) at Microsoft.Synchronization.Data.SyncScopeHandlerBase.ReadScope(IDbTransaction transaction, ReadKnowledgeType readType, ReadForgottenKnowledgeType readFKtype) at Microsoft.Synchronization.Data.RelationalSyncProvider.GetChanges(DbSyncScopeMetadata scopeMetadata, DbSyncSession DbSyncSession, UInt32 memoryBatchSize) at Microsoft.Synchronization.Data.RelationalSyncProvider.GetChangeBatch(UInt32 batchSize, SyncKnowledge destinationKnowledge, Object& changeDataRetriever) at Continuum.Local.Server.SyncWebService.GetChanges(UInt32 batchSize, SyncKnowledge destinationKnowledge
I am reposting this problem again with an expectation of getting a workaround for this problem ?.
gladson
- Edited by Gladson.Protean Wednesday, September 14, 2011 7:23 AM
Monday, September 5, 2011 9:38 AM
All replies
-
Is their anyone in this forum or microsoft who can help me on this?.
gladsonWednesday, September 7, 2011 9:08 AM -
Hi Guys,
I found that all tracking tables for “XYZ” database have a – ve “local_create_peer_timestamp” value (-1614977268,
-1614977268). Since the sync framework’s “GetChangeBatch” method expects a parameter of type UInt64 and the "XYZ" database tracking tables have a –ve value which is outside the allowed lowerlimit of UInt the framework is throwing up the “overflow exception”.When I execute
@@DBTS+1 returns a -ve value where as for other databases this returs a +ve value.
Any thougts on this?
select
- Edited by Gladson.Protean Thursday, September 15, 2011 9:41 AM
Thursday, September 15, 2011 7:07 AM -
Hi - we are running into this issue now after many years of sync framework being in service. Any assistance on how to resolve?
Jeff Taynton
Sunday, December 23, 2018 9:01 PM