For some time, I have been using some VBA code to perform an web merge sync using the sqlmergx.dll (Microsoft SQL Merge Control 10.0) object. These existing projects use SQL Server 2008 R2 with 2008 R2 Express clients, and continue to work reliably.
I've started working on a new project is using SQL Server 2016 with SQL Server 2014 Express clients. The same code using the later version of the sqlmergx.dll (Microsoft SQL Merge Control 12.0) object now fails web sych, throwing the following error;
"Run-time error '430'. Class does not support Automation, or does not support expected interface".
It works just fine without web synchronization enabled, but as soon as it is turned on;
.UseWebSynchronization = True
.InternetURL = RemoteServerURL
.InternetSecurityMode = BASIC_AUTHENTICATION
.InternetLogin = "domain\username"
.InternetPassword = "somepassword"
the code fails and throws the automation error when it hits run after being initialized.
.Initialize
.Run
.Terminate
The exact same code works fine with the same setup (2014 Express client) on my development box when I use the 2008 R2 control (Microsoft SQL Merge Control 10.0).
I was initially thinking that the newer control needed some additional parameter that the older one didn't need, but I can't see anything that makes sense.
Does anyone have any ideas or advice ? Is this something that was broken between 2008 and 2014 and never fixed ? Or is there something else going on ?
I could just deploy 2008 R2 Express on the client workstations, but would prefer to use a newer release.
I'll also deploy a new VM to experiment with Server 2016 Express and version 13.0 of the control. Although for some reason I can't recall at the moment, I was trying to avoid using 2016. (edit. Remembered it was due to lack of support for W7)
Thanks to anyone with an answer or explanation, or simply just a "me too" !!
Darren C (Csoftware)