Answered by:
Does SQL CE Private Installation support SqlCeClientSyncProvider.ClientId?

Question
-
Hi all,
I'm adopting SQL Server 2008 Change Tracking. Within my system, I have a scenario to set a new guid into SqlCeClientSyncProvider.ClientId each time the local database cache (.sdf) is recreated. I tested this feature within a machine with SQL CE installed. It worked properly.
Furthermore, there is another requirement to have SQL CE deployed privately. Currently I'm getting a problem with the same app on a machine running SQL CE private deployment. I'm wondering if this kind of deployment supporting my scenario (setting the clientId). Please advice.
Regards,
Agung
Thursday, May 6, 2010 6:27 AM
Answers
-
Hi,
SqlCeClientSyncProvider should work with CE private deployment. From the exception message, it seems that either @sync_client_id_binary from CE database is not found or the value is null.
Please enable sync tracing at verbose level and check if this parameter is set correctly in both SqlCeClientSyncProvider and DbServerSyncProvider. Also, you can query __syncSubscriptions table in the CE database to check if the client Id value is correctly set.
If you still cannot find the reason, please share me the full tracing file, and I will take a look.
Thanks,
Dong
This posting is provided AS IS with no warranties, and confers no rights.- Proposed as answer by Dong CaoMicrosoft employee Tuesday, May 11, 2010 4:51 PM
- Marked as answer by Dong CaoMicrosoft employee Wednesday, May 12, 2010 5:35 PM
Monday, May 10, 2010 5:37 PM
All replies
-
Can you give more details on the problem you are seeing when running private deployment?
Thanks
Thursday, May 6, 2010 9:18 PM -
Can you give more details on the problem you are seeing when running private deployment?
Thanks
Hi Jandeepc,The problem occured during app execution on a machine running the private deployment. The error message is "Unable to set session parameters in DbServerSyncProvider. Cannot obtain the value for command parameter '@sync_client_id_binary'". Installing the SQL CE into the machine (running the msi instead of private deployment) is proven solving the error. However the preferred one is SQL CE private deployment instead of executing its msi.
FYI, it is a desktop application. The sync framework is accessed directly without any WCF. Appreciate for any help.
Regards,
Agung
Friday, May 7, 2010 1:59 AM -
Hi,
SqlCeClientSyncProvider should work with CE private deployment. From the exception message, it seems that either @sync_client_id_binary from CE database is not found or the value is null.
Please enable sync tracing at verbose level and check if this parameter is set correctly in both SqlCeClientSyncProvider and DbServerSyncProvider. Also, you can query __syncSubscriptions table in the CE database to check if the client Id value is correctly set.
If you still cannot find the reason, please share me the full tracing file, and I will take a look.
Thanks,
Dong
This posting is provided AS IS with no warranties, and confers no rights.- Proposed as answer by Dong CaoMicrosoft employee Tuesday, May 11, 2010 4:51 PM
- Marked as answer by Dong CaoMicrosoft employee Wednesday, May 12, 2010 5:35 PM
Monday, May 10, 2010 5:37 PM