none
Getting exception in GetChangeBatch() RRS feed

  • 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 32 bit windows 7 machine and during the sync process we are getting the following error

    Error in GetChanges()Value was either too large or too small for a UInt64

    Any thoughts ?

     

    Tuesday, July 26, 2011 6:27 AM

All replies

  • which provider are you using? it would as well if you can post the stack trace or enable sync framework tracing and post the trace here.
    Tuesday, July 26, 2011 6:53 AM
    Moderator
  • I am using

    RelationalSyncProvider

    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)

    Tuesday, July 26, 2011 7:15 AM
  • can you please run this query on the client where you're getting this error and see if it gets a value: select min_active_rowversion()

    Tuesday, July 26, 2011 8:39 AM
    Moderator
  • yes

    I am getting the value as 0x0000000096A8A03E

    Can you kindly tell me what may the reason for this error, because this is the first time we are coming accross this kind of error.
    Tuesday, July 26, 2011 8:55 AM
  • honestly, i have no idea. this is the second time i saw this error get posted here. can you verify that you have the same Sync Framework version installed with the client thats generating an error and a working client?

    v2.0 and v2.1 has different codes for the ParseTimeStamp call.

    Wednesday, July 27, 2011 1:30 AM
    Moderator
  • Both are running v 2.1.

    Around 7 clients are using our applicationa and they are able to sync the data without any problem and they have 64 bit machine.

    The client which is having this problem is running a windows 7 , 32 bit machine. Immediately after provisioning a table it throws up the error.


    gladson
    Wednesday, July 27, 2011 6:04 AM
  • June,

    Any thoughts regarding this issue ? Is this issue related to SQL server version or Sync framework ?


    gladson

    Monday, September 5, 2011 9:17 AM