sql >> Database teknologi >  >> RDS >> Sqlserver

Distribueret transaktion på linket server mellem sql server og mysql

Teoretisk set burde dette virke.

Jeg vil foreslå forskellige trin til at ordne dette:

  1. Har du tjekket din MySql-lagringsmotor endnu? Det ser kun ud til at InnoDB storage engine support distribuer transaktion pr MySql dokument:https://dev.mysql.com/doc/refman/5.7/en/xa.html

  2. Se, om du kan skifte til at bruge MySQL Connectors opsætningsforbindelse til at oprette forbindelse til MySql i SQL Server i stedet for OLEDB-udbyder, som angiver efter MySql-dokument ovenfor, der understøtter distribueret transaktion.

  3. Hvis det stadig ikke virker, kan det være, at MSDTC-tjenesten selv har et eller andet problem, se om du kan isolere det, f.eks. få en SQL Server-instans, der kører på MySql-serverboksen (hvis du bruger Windows MySql), eller prøv at installere Windows MySql på SQL Server-boks for at få distribueret transaktion, der arbejder mellem to MySql. Hvilket ville kunne henvise dig til det faktiske problem.

EDIT:

Desværre ser det ud til, at du har bevist, at dette ikke virker, jeg har kigget nærmere på MySql-dokumentet og undskyld, det ser ud til, at jeg ikke læste det grundigt, der står:

I øjeblikket, blandt MySQL Connectors, understøtter MySQL Connector/J 5.0.0 og højere XA direkte

Og ved en anden googling fandt jeg dette:https://bugs.mysql.com/bug.php?id=37283, folk rapporterede denne fejl for mange år siden, og de markerede dette som en fejl, der ikke kan rettes.

Nogen foreslog noget her:https://social.msdn.microsoft.com/Forums/en-US/fc07937d-8b42-43da-8c75-3a4966ab95f9/xa-msdtc?forum=windowstransactionsprogramming, som er at implementere din egen XA- Overensstemmende ressourceadministratorer, der skal bruges af din applikation (https://msdn.microsoft.com/en-us/library/ms684317.aspx)



  1. Forårsaget af:java.lang.NoSuchMethodError:org.postgresql.core.BaseConnection.getEncoding()Lorg/postgresql/core/Encoding;

  2. SSL til PostgreSQL-forbindelsesnodejs

  3. Er der en SQL Server Profiler til SQL Server Express?

  4. Hvordan indstilles primær nøgle til automatisk stigning i PostgreSQL?