Несколько одновременных подключений или подключений с разными строками подключения внутри одной транзакции в настоящее время не поддерживаются - PullRequest
1 голос
/ 19 мая 2011

Я использую область транзакции. В этой транзакции у меня есть соединение с базой данных MySQL. Однако мне нужно будет открыть новое [еще одно] соединение MySQL в рамках предыдущей области транзакции.

Когда я это делаю, я получаю следующую ошибку Multiple simultaneous connections or connections with different connection strings inside the same transaction are not currently supported..

Это потому, что MySQL Server не поддерживает множественные распределенные транзакции. Что-то, что я должен изменить в коде, или что-то, что я должен изменить на сервере?.

Будет ли поддержка, если я использую описанный выше сценарий с обоими подключениями к SQL Server вместо сервера mysql

Ответы [ 2 ]

1 голос
/ 19 мая 2011

Возможно, вы захотите прочитать о Протокол двухфазной фиксации , и похоже, что MySQL поддерживает его с Транзакциями MySQL XA

Надеюсь, это поможет

0 голосов
/ 19 мая 2011

Хотя я никогда не пробовал это сам для MySql, я ожидал, что это будет возможно при условии, что вы сможете создать источник данных с поддержкой XA.

Этот вопрос подразумевает, что MySql поддерживаетXA.

Одна проблема, с которой вы можете столкнуться, заключается в том, что вам нужно работать в среде, способной работать с транзакциями XA.(в действительности вы выполняете распределенную транзакцию по двум базам данных, потому что вы используете два отдельных соединения) Я привык работать на сервере приложений Java EE, и поэтому сервер выступает в роли координатора транзакций, я не уверен, что произойдетв автономной программе Java.

...