Sqlserver
 sql >> डेटाबेस >  >> RDS >> Sqlserver

लेन-देनस्कोप अपवाद फेंक रहा है, यह प्लेटफॉर्म कनेक्शन ऑब्जेक्ट खोलते समय वितरित लेनदेन का समर्थन नहीं करता है

.NET कोर वितरित लेनदेन का समर्थन नहीं करता है क्योंकि इसके लिए प्रत्येक प्लेटफॉर्म पर एक अलग लेनदेन प्रबंधक की आवश्यकता होगी। यह भविष्य में दिखाई दे सकता है (यहाँ समस्या प्रगति पर है), लेकिन अभी के लिए कोई भी लेन-देन जिसके लिए दो अलग-अलग संसाधन प्रबंधकों की आवश्यकता होगी, इस अपवाद को छोड़ देगा।

इसके बजाय आप अलग लेनदेन का समन्वय कर सकते हैं। दो अलग-अलग लेन-देन अपना काम पूरा करें, और फिर उन दोनों को प्रतिबद्ध करें। एक संभावना . है कि पहली प्रतिबद्धता सफल होती है और दूसरी विफल हो जाती है, लेकिन SQL सर्वर के लिए, यह एक बहुत ही दुर्लभ अवसर होगा। कुछ इस तरह:

            _db1UOW.Begin(); //creating sql transaction
            await _db1UOW.IDenialDetailsRepositorydb1.InsertDenialDetails(denialsDetails);
            await _db1UOW.IRuleDetailsRepositorydb1.InsertRulesDetails(rulesDetails);

            _db2UOW.Begin(); //creating sql transaction 
            await _db2UOW.IRuleDetailsRepository.GetRulesDetails();
            await _db2UOW.IDenialDetailsRepository.InsertDenialDetails(denialsDetails);
            var data = await _db2UOW.IRuleDetailsRepository.InsertRulesDetails(rulesDetails);

            _db1UOW.Commit(); //commitng sql transaction
            try
            {
               _db2UOW.Commit(); //commitng sql transaction
            }
            catch (Exception ex)
            {
               LogError("Second transaction failed to commit after first one committed.  Administrators may need to fix stuff");
               throw;
            }

या यदि दो डेटाबेस एक ही सर्वर पर हैं तो आप एकल SQL सर्वर लेनदेन में परिवर्तनों को सूचीबद्ध करने के लिए एकल SqlConnection के साथ क्रॉस-डेटाबेस क्वेरी का उपयोग कर सकते हैं।




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. एसक्यूएल 'पसंद' क्वेरी '%' का उपयोग कर जहां खोज मानदंड में '%' शामिल है

  2. DATEFIRST सेट करें - SQL सर्वर में सप्ताह का पहला दिन सेट करें

  3. SQL सर्वर 2008 में लीड लैग फ़ंक्शन का वैकल्पिक

  4. SQL सर्वर में एक अद्यतन पास-थ्रू क्वेरी कैसे करें

  5. SQL सर्वर में @@ SERVERNAME के ​​साथ स्थानीय सर्वर नाम लौटाएं