2

私はトランザクションスコープを使用しています。そのトランザクション スコープ内に、mysql データベース接続があります。ただし、以前のトランザクション スコープで新しい [さらに別の] MySQL 接続を開く必要があります。

そうすると、次のエラーが表示されますMultiple simultaneous connections or connections with different connection strings inside the same transaction are not currently supported.

これは、MySQL サーバーが複数の分散トランザクションをサポートしていないためですか? コードで変更する必要があるもの、またはサーバーで変更する必要があるものはありますか?

上記のシナリオを使用し、mysql サーバーではなく SQL Server に対して両方の接続が行われている場合、サポートはありますか?

4

2 に答える 2

1

2 フェーズ コミット プロトコルについてお読みになると、MySQL がMySQL XA トランザクションでサポートしているようです。

お役に立てれば

于 2011-05-19T06:30:42.203 に答える
0

私は MySql でこれを自分で試したことはありませんが、XA 対応のデータソースを作成できれば、これが可能になると思います。

この質問は、MySql が XA をサポートしていることを暗示しているようです。

次に遭遇する可能性のある問題の 1 つは、XA トランザクションを処理できる環境で実行する必要があることです。(実際には、2 つの別々の接続を使用しているため、2 つのデータベース間で分散トランザクションを実行しています) 私は Java EE アプリケーション サーバーでの作業に慣れているため、サーバーはトランザクション コーディネーターとして機能します。何が起こるかわかりません。スタンドアロンの Java プログラムで。

于 2011-05-19T06:32:37.100 に答える