2012-12-12 8 views
5

संभव डुप्लिकेट:
What happens to an uncommitted transaction when the connection is closed?क्या SQLLonnection.Dispose() सभी लंबित लेनदेन पर रोलबैक करता है?

मैं जानता हूँ कि एक SqlTransactionDispose() (Will a using statement rollback a database transaction if an error occurs? देखें) पर ही रोलबैक होगा, लेकिन यह वापस लुढ़का दिया जाएगा जब अपनी मूल SqlConnection निपटान किया जाता है?

+1

क्या आपने इसे देखने की कोशिश की है? –

उत्तर

4

हां, लेकिन मुझे नहीं लगता कि यह एसक्यूएलकनेक्शन वर्ग द्वारा संभाला जाता है।

मुझे लगता है कि यह SQL सर्वर है कि जब कनेक्शन बंद हो जाता है तो स्वचालित रूप से सभी प्रतिबद्ध लेन-देन वापस रोल नहीं करते हैं।

यह भी मान लें कि एसक्यूएलकनेक्शन में डिफ़ॉल्ट रूप से कनेक्शन पूल है। तो यह संभव है कि जब आप एक SqlConnection को बंद/निपटान करते हैं तो "असली" डीबी कनेक्शन अभी भी सक्रिय है।

+2

वास्तव में, ट्रैन तब तक खुला रहेगा जब तक कनेक्शन का पुन: उपयोग नहीं किया जाता! – usr

संबंधित मुद्दे