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

SQL सर्वर और .NET मेमोरी की कमी, आवंटन और कचरा संग्रहण

समस्या यह है कि, किसी कारण से, आपका डेटा रीडर बंद नहीं किया जा रहा है। एक अपवाद? उपयोगकर्ता को DataReader को बंद करने की विधि याद नहीं आई?

एक फ़ंक्शन जो अपने शरीर के बाहर उपयोग किए जाने वाले DataReader को लौटाता है, उसे बाहरी कोड पर बंद करने की जिम्मेदारी छोड़ देता है, इसलिए इस बात की कोई गारंटी नहीं है कि रीडर बंद हो जाएगा। यदि आप पाठक को बंद नहीं करते हैं, तो आप उस कनेक्शन का पुन:उपयोग नहीं कर सकते जिसमें इसे खोला गया था।

इसलिए किसी फ़ंक्शन से DataReader को वापस करना एक बहुत बुरा विचार है!

आप इस विषय पर पूरी चर्चा देख सकते हैं यहां

इस फ़ंक्शन के उपयोग के लिए देखें (GetDataReader ), और जांचें कि क्या इस बात की गारंटी है कि पाठक बंद हो रहा है। और, सबसे महत्वपूर्ण बात, इस बात की कोई संभावना नहीं है कि यह कोड फिर से प्रवेश करे और पहले बंद होने से पहले एक नया डेटा रीडर खोलने के लिए उसी संग्रह का उपयोग करे। (CommandBehavior.CloseConnection द्वारा गुमराह न हों। यह केवल तभी कनेक्शन बंद करने का ख्याल रखता है जब DataReader बंद हो... केवल तभी जब आप इसे बंद करने में विफल न हों)



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. SQL सर्वर - लेन-देन त्रुटि पर वापस रोल?

  2. समय प्रारूप hhmm से hh:mm sql सर्वर 2005

  3. पंक्ति दर पंक्ति के बजाय एक बार में संपूर्ण डेटाटेबल को डेटाबेस में सम्मिलित करें?

  4. NOLOCK संकेत का उपयोग करके गतिरोध से बचना

  5. इन कॉपी ओनली बैकअप विकल्पों का क्या अर्थ है?