locked
Bidirectional Error RRS feed

  • Question

  • When I set the SyncTableTransferOption to DownloadOnly everything works well, but when I set it to Bidirectional I get the followoing error:

    Microsoft.Synchronization.Data.Common.DataSyncException was unhandled
      Message="An error occurred when enumerating changes in the client database. Check the inner exception for more details."
      Source="Microsoft.Synchronization.Data.SqlServerCe"
      SyncSource="Microsoft SQL Server Compact"
      StackTrace:
           at Microsoft.Synchronization.Data.SqlServerCe.SqlCeClientSyncProvider.EnumerateDeletes(SyncGroupMetadata groupMetadata, Int64 enumTxCsn)
           at Microsoft.Synchronization.Data.SqlServerCe.SqlCeClientSyncProvider.GetChanges(SyncGroupMetadata groupMetadata, SyncSession syncSession)
           at Microsoft.Synchronization.Data.Client.InternalSyncAgent.UploadChanges(SyncGroupMetadata groupMetadata)
           at Microsoft.Synchronization.Data.Client.InternalSyncAgent.Synchronize()
           at Microsoft.Synchronization.SyncAgent.TryDoDataSync(SyncStatistics& statistics)
           at Microsoft.Synchronization.SyncAgent.Synchronize()
           at Flip.App.OnStartup(StartupEventArgs e) in C:\Users\german\Documents\Visual Studio 2008\Projects\Flip\Flip\App.xaml.cs:line 40
           at System.Windows.Application.<.ctor>b__0(Object unused)
           at System.Windows.Threading.ExceptionWrapper.InternalRealCall(Delegate callback, Object args, Boolean isSingleParameter)
           at System.Windows.Threading.ExceptionWrapper.TryCatchWhen(Object source, Delegate callback, Object args, Boolean isSingleParameter, Delegate catchHandler)
           at System.Windows.Threading.DispatcherOperation.InvokeImpl()
           at System.Windows.Threading.DispatcherOperation.InvokeInSecurityContext(Object state)
           at System.Threading.ExecutionContext.runTryCode(Object userData)
           at System.Runtime.CompilerServices.RuntimeHelpers.ExecuteCodeWithGuaranteedCleanup(TryCode code, CleanupCode backoutCode, Object userData)
           at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state)
           at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)
           at System.Windows.Threading.DispatcherOperation.Invoke()
           at System.Windows.Threading.Dispatcher.ProcessQueue()
           at System.Windows.Threading.Dispatcher.WndProcHook(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam, Boolean& handled)
           at MS.Win32.HwndWrapper.WndProc(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam, Boolean& handled)
           at MS.Win32.HwndSubclass.DispatcherCallbackOperation(Object o)
           at System.Windows.Threading.ExceptionWrapper.InternalRealCall(Delegate callback, Object args, Boolean isSingleParameter)
           at System.Windows.Threading.ExceptionWrapper.TryCatchWhen(Object source, Delegate callback, Object args, Boolean isSingleParameter, Delegate catchHandler)
           at System.Windows.Threading.Dispatcher.InvokeImpl(DispatcherPriority priority, TimeSpan timeout, Delegate method, Object args, Boolean isSingleParameter)
           at System.Windows.Threading.Dispatcher.Invoke(DispatcherPriority priority, Delegate method, Object arg)
           at MS.Win32.HwndSubclass.SubclassWndProc(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam)
           at MS.Win32.UnsafeNativeMethods.DispatchMessage(MSG& msg)
           at System.Windows.Threading.Dispatcher.PushFrameImpl(DispatcherFrame frame)
           at System.Windows.Threading.Dispatcher.PushFrame(DispatcherFrame frame)
           at System.Windows.Threading.Dispatcher.Run()
           at System.Windows.Application.RunInternal(Window window)
           at System.Windows.Application.Run(Window window)
           at System.Windows.Application.Run()
           at Flip.App.Main() in C:\Users\german\Documents\Visual Studio 2008\Projects\Flip\Flip\obj\Debug\App.g.cs:line 0
           at System.AppDomain._nExecuteAssembly(Assembly assembly, String[] args)
           at System.AppDomain.ExecuteAssembly(String assemblyFile, Evidence assemblySecurity, String[] args)
           at Microsoft.VisualStudio.HostingProcess.HostProc.RunUsersAssembly()
           at System.Threading.ThreadHelper.ThreadStart_Context(Object state)
           at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)
           at System.Threading.ThreadHelper.ThreadStart()
      InnerException: System.Data.SqlServerCe.SqlCeException
           Message="The column name is not valid. [ Node name (if any) = ut0,Column name = __sysInsertTxCsn ]"
           Source="SQL Server Compact ADO.NET Data Provider"
           HResult=-2147217900
           NativeError=25503
           StackTrace:
                at System.Data.SqlServerCe.SqlCeCommand.CompileQueryPlan()
                at System.Data.SqlServerCe.SqlCeCommand.ExecuteCommand(CommandBehavior behavior, String method, ResultSetOptions options)
                at System.Data.SqlServerCe.SqlCeCommand.ExecuteDbDataReader(CommandBehavior behavior)
                at System.Data.Common.DbCommand.System.Data.IDbCommand.ExecuteReader(CommandBehavior behavior)
                at System.Data.Common.DbDataAdapter.FillInternal(DataSet dataset, DataTable[] datatables, Int32 startRecord, Int32 maxRecords, String srcTable, IDbCommand command, CommandBehavior behavior)
                at System.Data.Common.DbDataAdapter.Fill(DataTable[] dataTables, Int32 startRecord, Int32 maxRecords, IDbCommand command, CommandBehavior behavior)
                at System.Data.Common.DbDataAdapter.Fill(DataTable dataTable)
                at Microsoft.Synchronization.Data.SqlServerCe.SqlCeClientSyncProvider.EnumerateDeletes(SyncGroupMetadata groupMetadata, Int64 enumTxCsn)
           InnerException:


    I'm using Microsoft Sync Framework CTP1 and I have SQL Server Compact 3.5


    • Moved by Max Wang_1983 Friday, April 22, 2011 9:36 PM forum consolidation (From:SyncFx - Microsoft Sync Framework Database Providers [ReadOnly])
    Wednesday, November 14, 2007 5:01 PM

Answers

  • Hi There,

     

    Thanks for reporting this. It is not a bug it just that there are needed changes to SQLCe engine that did not make it in 3.5 beta2 release. The RTM of SQLCe 3.5 should work just fine. This version is also shipping with VS 2008. So you can give it a try if you have a pre-release build of VS2008 or you just wait for few days until the SQL CE RTM is out the door.

     

    Sorry for inconvenience though.

     

    Thanks

    Thursday, November 15, 2007 9:08 PM
  • All,

     

    Just released: SQL CE 3.5 RTM is available for download here.

     

    Thanks

    Monday, November 26, 2007 6:49 PM

All replies

  • When I went back to the previous version of the Sync Framework it started working.... This might be a bug.

    Wednesday, November 14, 2007 8:37 PM
  • Hi There,

     

    Thanks for reporting this. It is not a bug it just that there are needed changes to SQLCe engine that did not make it in 3.5 beta2 release. The RTM of SQLCe 3.5 should work just fine. This version is also shipping with VS 2008. So you can give it a try if you have a pre-release build of VS2008 or you just wait for few days until the SQL CE RTM is out the door.

     

    Sorry for inconvenience though.

     

    Thanks

    Thursday, November 15, 2007 9:08 PM
  • Hi, Rafik,

     

    I am also experiencing this problem, and we have an extremely tight deadline. Is there any workaround available until CE 3.5 RTM is ready?

     

    Dave Michel

    Friday, November 23, 2007 2:57 AM
  • Hi,

     

    How much reliable is information about SQL CE RTM release?

    "for few days until the SQL CE RTM is out the door"

     

    Regards,

    Wojciech Gebczyk.

    Friday, November 23, 2007 9:19 AM
  • Hi

     

    SQL CE RTM is already shipped with VS 2008 which was released last week. At this point, it does not appear that we have a standalone package that you can install without VS 2008. I was expecting to see out around the same time VS 2008 shipped. Let me follow up on this and get back to you.

     

    Thanks

     

     

    Monday, November 26, 2007 3:12 AM
  • Hi,

     

    Could you write what version corresponds to SQL CE 3.5 RTM?

    3.5.5386.0?

     

    Regards,

    Wojciech Gebczyk

    Monday, November 26, 2007 1:31 PM
  • All,

     

    Just released: SQL CE 3.5 RTM is available for download here.

     

    Thanks

    Monday, November 26, 2007 6:49 PM
  • Thank you!

     

    v

     

    Tuesday, November 27, 2007 10:24 AM
  • Rafik,

    I've got the same exception.

    I've upgraded from Vs08-Beta2 to Vs08-RTM.

    Before that It has been working good.

     

    Any Idea?

     

    Ariel

     

    Microsoft.Synchronization.Data.SyncException occurred

    Message="An error occurred when enumerating changes in the client database. Check the inner exception for more details."

    Source="Microsoft.Synchronization.Data.SqlServerCe"

    SyncSource="Microsoft SQL Server Compact"

    StackTrace:

    at Microsoft.Synchronization.Data.SqlServerCe.SqlCeClientSyncProvider.EnumerateDeletes(SyncGroupMetadata groupMetadata, Int64 enumTxCsn)

    at Microsoft.Synchronization.Data.SqlServerCe.SqlCeClientSyncProvider.GetChanges(SyncGroupMetadata groupMetadata, SyncSession syncSession)

    at Microsoft.Synchronization.SyncAgent.UploadChanges(SyncGroupMetadata groupMetadata)

    at Microsoft.Synchronization.SyncAgent.Synchronize()

    at HumanXP.ClientSyncModule.ClientSyncService.syncWorker_DoWork(Object sender, DoWorkEventArgs e) in C:\Users\Ariel\Projects\YetAnotherClient\ClientSyncModule\ClientSyncService.cs:line 28

    InnerException: System.Data.SqlServerCe.SqlCeException

    Message="The column name is not valid. [ Node name (if any) = ut0,Column name = __sysInsertTxCsn ]"

    Source="SQL Server Compact ADO.NET Data Provider"

    HResult=-2147217900

    NativeError=25503

    StackTrace:

    at System.Data.SqlServerCe.SqlCeCommand.CompileQueryPlan()

    at System.Data.SqlServerCe.SqlCeCommand.ExecuteCommand(CommandBehavior behavior, String method, ResultSetOptions options)

    at System.Data.SqlServerCe.SqlCeCommand.ExecuteReader(CommandBehavior behavior)

    at System.Data.SqlServerCe.SqlCeCommand.ExecuteDbDataReader(CommandBehavior behavior)

    at System.Data.Common.DbCommand.System.Data.IDbCommand.ExecuteReader(CommandBehavior behavior)

    at System.Data.Common.DbDataAdapter.FillInternal(DataSet dataset, DataTable[] datatables, Int32 startRecord, Int32 maxRecords, String srcTable, IDbCommand command, CommandBehavior behavior)

    at System.Data.Common.DbDataAdapter.Fill(DataTable[] dataTables, Int32 startRecord, Int32 maxRecords, IDbCommand command, CommandBehavior behavior)

    at System.Data.Common.DbDataAdapter.Fill(DataTable dataTable)

    at Microsoft.Synchronization.Data.SqlServerCe.SqlCeClientSyncProvider.EnumerateDeletes(SyncGroupMetadata groupMetadata, Int64 enumTxCsn)

    InnerException:

    Monday, December 3, 2007 2:55 PM
  • Ariel,

     

    Are you still using the same database file that you had created using SQL CE beta 2? If so, then this could be the problem.

     

    Thanks

    Monday, December 3, 2007 7:02 PM
  • Rafik,

    Thanks alot for the quick asnwer!

     

    Yes I'm!

     

    What do I need to do?

    Is there a way to upgrade the file or do I need to build it anew.

     

    Ariel

    Monday, December 3, 2007 7:05 PM
  • Yes. I think there is an new method in the SqlCe ADO.NET provider that allows you to upgrade the DB (if I recall correctly, on the sqlce connection object there is a method called Upgrade()). The other option is to just delete the db file.

     

    Thanks

     

    Monday, December 3, 2007 7:13 PM