locked
Fail to upload changes from mobile client to server RRS feed

  • Question

  • Hi,

    I am using SyncFx samples to enable synchronization between mssql 2008 and wp7 device.

    server - Microsoft Sync Framework Toolkit\C#\Samples\ListService 

    sync fx framework - Microsoft Sync Framework Toolkit\C#\SyncServiceLib

    client - Microsoft Sync Framework Toolkit\C#\Samples\WP7Sample\ListsManagement

    On upload I get following error, could you advice please how to solve issue?

    Thanks!

    VERBOSE, 10, 05/30/2012 09:39:54, SyncService initialized!
    ERROR  , 10, 05/30/2012 09:40:30, System.IndexOutOfRangeException
    An SqlParameter with ParameterName '@changeTable' is not contained by this SqlParameterCollection.
       at System.Data.SqlClient.SqlParameterCollection.GetParameter(String parameterName)
       at System.Data.SqlClient.SqlParameterCollection.get_Item(String parameterName)
       at Microsoft.Synchronization.Data.SqlServer.SqlChangeHandler.ExecuteTVPCommand(IDbCommand cmd, DataTable applyTable, DataTable failedRows)
       at Microsoft.Synchronization.Data.SqlServer.SqlChangeHandler.ApplyBulkChanges(DataTable dataTable)
       at Microsoft.Synchronization.Data.RelationalSyncProvider.ApplyChangesInternal(DbSyncScopeMetadata scopeMetadata, IDbTransaction transaction, FailedDeleteDelegate_type failedDeleteDelegate, DataSet dataSet, ChangeApplicationType applyType)
       at Microsoft.Synchronization.Data.RelationalSyncProvider.ApplyChanges(DbSyncScopeMetadata scopeMetadata, IDbTransaction applyTransaction, DataSet dataSet, DbSyncSession DbSyncSession, Boolean commitTransaction, FailedDeleteDelegate_type failedDeleteDelegate, String batchFileName, ChangeApplicationAction& action)
       at Microsoft.Synchronization.Data.RelationalSyncProvider.SingleTransactionApplyChangesAdapter.Apply(DataSet dataSet, Boolean commitTransaction, FailedDeleteDelegate_type failedDeleteDelegate, String batchFileName, ChangeApplicationAction& action)
       at Microsoft.Synchronization.Data.RelationalSyncProvider.ApplyChanges(DbSyncScopeMetadata scopeMetadata, DataSet dataSet, DbSyncSession dbSyncSession, Boolean commitTransaction)
       at Microsoft.Synchronization.Data.RelationalSyncProvider.ProcessChangeBatch(ConflictResolutionPolicy resolutionPolicy, ChangeBatch sourceChanges, Object changeDataRetriever, SyncCallbacks syncCallbacks, SyncSessionStatistics sessionStatistics)
       at Microsoft.Synchronization.Services.SqlProvider.SqlSyncProviderService.ApplyChanges(Byte[] serverBlob, List`1 entities) in E:\trunk_nih\Microsoft Sync Framework Toolkit\C#\SyncServiceLib\SqlProvider\SqlSyncProviderService.cs:line 594
       at Microsoft.Synchronization.Services.UploadChangesRequestProcessor.ProcessRequest(Request incomingRequest) in E:\trunk_nih\Microsoft Sync Framework Toolkit\C#\SyncServiceLib\RequestProcessor\UploadChangesRequestProcessor.cs:line 130
       at Microsoft.Synchronization.Services.SyncService`1.ProcessRequestForMessage(Stream messageBody) in E:\trunk_nih\Microsoft Sync Framework Toolkit\C#\SyncServiceLib\SyncService.cs:line 154

    Wednesday, May 30, 2012 9:59 AM

Answers

  • check if the server database has been properly provisioned. you should see stored procedures with the word "bulk" on it...if you open them up, the parameter should include a UDT for the table which you can also verify if existing under User Defined Table types in SQL Management Studio...
    Wednesday, May 30, 2012 10:14 AM

All replies

  • check if the server database has been properly provisioned. you should see stored procedures with the word "bulk" on it...if you open them up, the parameter should include a UDT for the table which you can also verify if existing under User Defined Table types in SQL Management Studio...
    Wednesday, May 30, 2012 10:14 AM
  • excellent support! thanks
    Wednesday, May 30, 2012 12:18 PM