सैद्धांतिक रूप से यह काम करना चाहिए।
मैं इसे हल करने के लिए विभिन्न चरणों का सुझाव दूंगा:
-
क्या आपने अभी तक MySQL स्टोरेज इंजन की जांच की है? ऐसा लगता है कि प्रति MySql दस्तावेज़ में केवल InnoDB स्टोरेज इंजन समर्थन वितरित लेनदेन:https://dev.mysql.com/doc/refman/5.7/en/xa.html
-
देखें कि क्या आप OLEDB प्रदाता के बजाय SQL सर्वर में MySQL से कनेक्ट करने के लिए MySQL Connectors सेटअप कनेक्शन का उपयोग करने के लिए स्विच कर सकते हैं, जो उस समर्थन के ऊपर MySql दस्तावेज़ द्वारा लेन-देन वितरित करता है।
-
यदि अभी भी काम नहीं कर रहा है, तो हो सकता है कि MSDTC सेवा में ही कुछ समस्या हो, देखें कि क्या आप इसे अलग कर सकते हैं जैसे कि MySQL सर्वर बॉक्स पर SQL सर्वर इंस्टेंस चलाना (यदि आप Windows MySql का उपयोग कर रहे हैं), या Windows MySql को स्थापित करने का प्रयास करें। दो MySQL के बीच काम कर रहे लेनदेन को वितरित करने के लिए एसक्यूएल सर्वर बॉक्स। जो आपको वास्तविक समस्या की ओर संकेत करने में सक्षम होगा।
संपादित करें:
दुर्भाग्य से ऐसा लगता है कि आपने साबित कर दिया कि यह काम नहीं कर रहा है, मैंने MySql दस्तावेज़ को करीब से देखा है और खेद है कि ऐसा लगता है कि मैं इसे पूरी तरह से नहीं पढ़ रहा था, यह कहता है:
<ब्लॉकक्वॉट>वर्तमान में, MySQL कनेक्टर्स के बीच, MySQL Connector/J 5.0.0 और उच्चतर सीधे XA को सपोर्ट करता है
और कुछ अन्य Googling द्वारा मैंने यह पाया: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)