sql >> データベース >  >> RDS >> Sqlserver

SQLサーバーとmysql間のリンクサーバー上の分散トランザクション

    理論的にはこれでうまくいくはずです。

    これを整理するためのさまざまな手順を提案します:

    1. MySqlストレージエンジンをもうチェックしましたか? MySqlドキュメントごとにInnoDBストレージエンジンサポートの分散トランザクションのみが表示されます:https://dev.mysql.com/doc/refman/5.7/en/xa.html

    2. 分散トランザクションをサポートする上記のMySqlドキュメントで述べられているOLEDBプロバイダーの代わりにSQLServerのMySqlに接続するためにMySQLコネクタセットアップ接続を使用するように切り替えることができるかどうかを確認してください。

    3. それでも機能しない場合は、MSDTCサービス自体に問題がある可能性があります。MySqlサーバーボックスでSQL Serverインスタンスを実行するように分離できるかどうかを確認するか(Windows MySqlを使用している場合)、WindowsMySqlをにインストールしてみてください。 2つのMySql間で動作する分散トランザクションを取得するためのSQLサーバーボックス。実際の問題を指摘することができます。

    編集:

    残念ながら、これが機能していないことが証明されたようです。MySqlドキュメントを詳しく調べましたが、完全に読んでいないようです。

    現在、MySQLコネクタの中で、MySQL Connector /J5.0.0以降はXAを直接サポートしています

    そして、他のグーグルによって私はこれを見つけました:https://bugs.mysql.com/bug.php?id=37283、人々は何年も前にこのバグを報告し、彼らはこれを修正しないとマークしました。

    誰かがここで何かを提案しました:https://social.msdn.microsoft.com/Forums/en-US/fc07937d-8b42-43da-8c75-3a4966ab95f9/xa-msdtc?forum =windowstransactionsprogramming、これはあなた自身のXAを実装することです-アプリケーションで使用される準拠リソースマネージャー(https://msdn.microsoft.com/en-us/library/ms684317.aspx)



    1. SQL Server 2016:データベースユーザーを作成する

    2. MySQLでUNIONを使用する場合の「エラー1222(21000):使用されるSELECTステートメントの列数が異なる」を修正

    3. MySQLでアクセントを削除する方法は?

    4. MicrosoftPowerBI内でデータを読み込んで管理する方法