How do I fix "no such interface supported" when using replication with SQL Server 2014 Express

210 Views Asked by At

I need pointing in the right direction as I seem to have hit a brick wall.

I am getting the following error when I try to synch on subscriber on one of the laptops:

Type : Microsoft.SqlServer.Replication.ComErrorException
Description : No such interface supported

Stack Trace:
at Microsoft.SqlServer.Replication.MergeSynchronizationAgent..ctor()
at Microsoft.SqlServer.Replication.MergePullSubscription.get_SynchronizationAgent()
at DAL.MergeRepSynch()

Error Method: Void .ctor()

  • The application is VB.NET .NET Framework 4, Visual Studio 2013. (32 Bit)
  • The SQL Server version is 2014 Express (SP3) (32 Bit)
  • The OS is Windows 11.

I also have a web app on the same laptop written in C# .NET Framework 4.5.1 (Visual Studio 2013), which syncs to the same publisher, and that works without any errors.

I have tried:

  • Uninstalling and reinstalling the desktop app.
  • Installing a later version of the desktop app
  • Installing SP3 for SQL 2014 Express
  • Reregistering actxprxy.dll and oleaut32.dll file in the %SystemRoot%\system32 directory
  • Checking the health using DISM
  • Rebuilding the VB.Net app using .NET Framework 4.6.1

The only difference I did notice was that the web app had a Microsoft.SqlServer.Replication.dll in the bin folder. I've copied that into the same directory as the application and registered it. This also made no difference.

I get the following when I execute print @@version in SQL Server Management Studio:

Microsoft SQL Server 2014 (SP3-GDR) (KB5021037) - 12.0.6174.8 (Intel X86) 
Jan  4 2023 10:31:37 
Copyright (c) Microsoft Corporation
Express Edition on Windows NT 6.3 <X64> (Build 22621: ) (WOW64)

I did notice

KB4014719 - FIX: "(0x80004002) No such interface supported" error when you use RMO to run Web Synchronization for Merge Replication in SQL Server 2016

on the Microsoft Support, but that is for 2016 and nothing for 2014.

If I create the subscriber database from new, then it will pull everything from the publisher to bring the data up to date.

Any help would be gratefully received.

2

There are 2 best solutions below

0
lardymonkey On BEST ANSWER

After further investigation a repair of the SQL Server install looks like it cured the problem on this occasion. I'm unsure if it was the registry entries that had become corrupted or something to do with the actual install.

0
Joel Coehoorn On

This is entirely a SQL Server thing, namely: if you want to use replication, you need a paid edition of SQL Server rather than Express Edition. VB has nothing to do with it.

I see the note about the web app replicating from the same publisher, but if you dig into it I expect you'll find the remote end is running at least Standard Edition.

While you're looking at supported SQL Server Editions, it's also worth nothing that SQL Server 2014 will be fully end-of-life in less than a year, after which time it will no longer receive any updates... not even critical security patches. So take this as a good chance to get to a more-recent version as well.

.Net Framework 4.51. and 4.6.1 are in a similar place, and you should get to the 4.8.x series as soon as possible. This probably won't even require any code changes... just install the updated SDK, ASP.Net runtime, and change the project target.