I have a table, say Table1 on SQL Server 2014 and MySQL.
Table1 ID INT,Code VARCHAR(100)
I created a linked MyLinkedServer server in SQL Server using the "Microsoft OLEDB Provider for ODBC".
** Linked server **
EXEC master.dbo.sp_addlinkedserver @server = N'MyLinkedServer', @srvproduct=N'MyLinkedServer', @provider=N'MSDASQL', @datasrc=N'MyLinkedServer' EXEC master.dbo.sp_addlinkedsrvlogin @rmtsrvname=N'MyLinkedServer',@useself=N'False',@locallogin=NULL,@rmtuser=N'username',@rmtpassword='########'
Related Server Settings
EXEC master.dbo.sp_serveroption @server=N'MyLinkedServer', @optname=N'data access', @optvalue=N'true' EXEC master.dbo.sp_serveroption @server=N'MyLinkedServer', @optname=N'use remote collation', @optvalue=N'true' EXEC master.dbo.sp_serveroption @server=N'MyLinkedServer', @optname=N'remote proc transaction promotion', @optvalue=N'true'
The linked server was created successfully, and I can query the Mysql table in SQL Server.
Query
When i started
INSERT INTO MyLinkedServer...Table1(ID,Code) SELECT 1,'Code1'
Record is inserted. However, when I start a transaction and run INSERT , I get an error message:
BEGIN TRAN INSERT INTO MyLinkedServer...Table1(ID,Code) SELECT 1,'Code1' COMMIT
Mistake:
The OLE DB provider "MSDASQL" for the linked server "MyLinkedServer" returned the message "[MySQL] [ODBC 5.3 (a) Driver] Additional function not supported." Msg 7391, Level 16, State 2, Line 8 The operation could not be completed because the OLE DB provider "MSDASQL" for the linked server "MyLinkedServer" could not start the distributed transaction.
What I have tried so far.
I checked the following links and their suggestions, however the error persists:
Distributed Transactions Between MySQL and MSSQL
SQL Server and MySQL Compatibility?
SQL Server and MySQL Syncing
EDIT
Additional Information: