Понастоящем не се поддържат множество едновременни връзки или връзки с различни низове за свързване в една и съща транзакция

Използвам обхват на транзакция. В рамките на тази транзакция имам връзка с mysql база данни. Ще трябва обаче да отворя нова [още една] MySQL връзка в обхвата на предишната транзакция.

Когато го направя, получавам следната грешка Multiple simultaneous connections or connections with different connection strings inside the same transaction are not currently supported..

Това ли е защото MySQL Server не поддържа множество разпределени транзакции, има ли нещо, което трябва да променя в кода или нещо, което трябва да променя в сървъра?.

Ще има ли поддръжка, ако използвам горния сценарий, като и двете връзки се правят към SQL Server вместо mysql сървър


person Saravanan    schedule 19.05.2011    source източник


Отговори (2)


Може да искате да прочетете за протокол за двуфазов комит и изглежда, че MySQL го поддържа с MySQL XA транзакции

Надявам се това да помогне

person Tudor Constantin    schedule 19.05.2011
comment
Благодаря за вашия отговор. Позволете ми да прегледам тези документи и след това да ви оставя моите отзиви за това как решавам нещата. - person Saravanan; 19.05.2011

Въпреки че никога не съм опитвал това за MySql, бих очаквал това да е възможно, при условие че можете да създадете XA способен източник на данни.

Този въпрос изглежда предполага, че MySql поддържа XA.

Един проблем, който може да срещнете след това, е, че трябва да работите в среда, способна да се справя с XA транзакции. (в действителност вие правите разпределена транзакция в две бази данни, защото използвате две отделни връзки) Свикнал съм да работя в Java EE App Server и така сървърът действа като координатор на транзакциите, не съм сигурен какво ще се случи в самостоятелна Java програма.

person djna    schedule 19.05.2011
comment
Благодаря за вашия отговор. Гледам на XA като това, което казахте. Ще се върна с подробности. - person Saravanan; 19.05.2011