For incremental changes, Windows authentication works fine. When trying to do the initial synchronization where the application receives the snapshot database from the publishing database, there is trouble. I have tested this in the PPC 2002 and 2003 emulators and on an actually PPC device as well. I get the following error:
A call to SQL Server Reconciler failed. [,,,,,], Source=Microsoft SQL Server 2000 Windows CE Edition, NativeError=29006,HResult=-2147467259
The process could not deliver the snapshot to the Subscriber., Source=Merge Replication Provider, NativeError=0,HResult=-2147201001
Here is difference in my code between Windows and SQL Authentication: #if SQLAUTHENTICATION repl.PublisherLogin = "MyLogin"; // publisher Login; repl.PublisherPassword = "MyPassword"; // publisher Password;
repl.PublisherSecurityMode = System.Data.SqlServerCe.SecurityType.DBAuthentication; #else repl.PublisherSecurityMode = System.Data.SqlServerCe.SecurityType.NTAuthentication; #endif
As far as I know, I have properly configured the snapshot IIS folder with the correct permissions for IIS_MachineName (for anonymous-Sql Authentication) and also with the domain users for Windows Authentication. The domain users are also in the Publication Access List.
The bottom line is that in for Windows Authentication I am not able to receive the snapshot from the publishing database on the first synchronization. However, I am able to do incremental synchronization through Windows Authentication. And I have no problems with SQL Authenication (via the anonymous user).
I am stumped by the "process could not deliver the snapshot to the Subscriber" error. Have any of you encountered this situation before, and if so, how did you resolve it?
Thanks, Rod Early
Not sure if it could help.
Accord to SQLCE BOL - tried to verify that the user get read permission for the table...
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/sqlce/htm/_lce_troubleshooting_security_problems.asp