【问题标题】:Multiple simultaneous connections or connections with different connection strings inside the same transaction are not currently supported当前不支持多个同时连接或同一事务中具有不同连接字符串的连接
【发布时间】:2011-08-28 14:47:17
【问题描述】:

我正在使用事务范围。在该事务范围内,我有一个 mysql 数据库连接。但是,我需要在之前的事务范围内打开一个新的 [又一个] MySQL 连接。

当我这样做时,我收到以下错误Multiple simultaneous connections or connections with different connection strings inside the same transaction are not currently supported.

这是因为 MySQL 服务器不支持多个分布式事务,我应该在代码中更改什么或在服务器中更改什么吗?。

如果我使用上述方案,同时连接到 SQL Server 而不是 mysql 服务器,是否会有支持

【问题讨论】:

    标签: mysql distributed-transactions


    【解决方案1】:

    您可能想阅读有关Two-phase commit protocol 的信息,并且看起来 MySQL 正在通过 MySQL XA Transactions 支持它

    希望对你有帮助

    【讨论】:

    • 感谢您的回复。让我浏览一下这些文档,然后将我的反馈意见告诉你我是如何解决问题的。
    【解决方案2】:

    虽然我自己从未在 MySql 上尝试过这种方法,但我希望这是可能的,前提是您可以创建支持 XA 的数据源。

    This question 似乎暗示 MySql 确实支持 XA。

    您可能会遇到的一个问题是您需要在能够处理 XA 事务的环境中运行。 (实际上,您正在跨两个数据库执行分布式事务,因为您使用的是两个单独的连接)我习惯于在 Java EE App Server 中工作,因此服务器充当事务协调器,我不确定会发生什么在一个独立的 Java 程序中。

    【讨论】:

    • 感谢您的回复。我期待 XA 就像你所说的那样。我将返回详细信息。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-11-11
    • 2011-02-03
    • 1970-01-01
    • 1970-01-01
    • 2011-04-07
    相关资源
    最近更新 更多