Fail to upload changes from mobile client to server

Answered Fail to upload changes from mobile client to server

  • 30 мая 2012 г. 9:59
     
     

    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

Все ответы

  • 30 мая 2012 г. 10:14
    Модератор
     
     Отвечено
    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...
    • Помечено в качестве ответа Gennadi Jakutin 30 мая 2012 г. 12:18
    •  
  • 30 мая 2012 г. 12:18
     
     
    excellent support! thanks