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

सी # में एकाधिक अनुरोधों के लिए एकल SQL सर्वर कनेक्शन इंस्टेंस को कैसे खोलें?

ADO.NET का SqlConnection एक कनेक्शन पूल लागू कर रहा है। इसका मतलब यह है कि जब आप SqlConnection . के इंस्टेंस को बंद या डिस्पोज करते हैं , अंतर्निहित कनेक्शन बस पूल में वापस आ जाता है। जब SqlConnection . का एक और उदाहरण खोला गया है, और कनेक्शन पूल में एक कनेक्शन उपलब्ध है, उस कनेक्शन का उपयोग किया जाएगा।
वास्तव में, SQL सर्वर कनेक्शन पूलिंग पर Microsoft डॉक्स पृष्ठ स्पष्ट रूप से बताता है:

<ब्लॉकक्वॉट>

सावधानी
हम दृढ़ता से अनुशंसा करते हैं कि जब आप इसका उपयोग करना समाप्त कर लें तो आप हमेशा कनेक्शन को बंद कर दें ताकि कनेक्शन पूल में वापस आ जाए। आप कनेक्शन ऑब्जेक्ट के बंद या निपटान विधियों का उपयोग करके या सी # में एक प्रयोग कथन के अंदर सभी कनेक्शन खोलकर या विजुअल बेसिक में एक प्रयोग कथन का उपयोग करके ऐसा कर सकते हैं। जो कनेक्शन स्पष्ट रूप से बंद नहीं हैं, उन्हें जोड़ा या पूल में वापस नहीं किया जा सकता है। अधिक जानकारी के लिए, Statement या How to:Dispose of a System Resource for Visual Basic का उपयोग करना देखें।

इसका मतलब है कि SqlConnection using का उपयोग करने का सर्वोत्तम अभ्यास तरीका क्या यह है:

using(var con = new SqlConnection(connectionString))
{
    // your sql stuff goes here...
}

बीटीडब्ल्यू, SqlCommand , SqlDataReader और SqlDataAdapter IDisposable . को भी लागू करता है इंटरफ़ेस, इसलिए उन्हें भी using . के संदर्भ में उपयोग करने की आवश्यकता है कथन:

using(var con = new SqlConnection(connectionString))
{
    using(var cmd = new SqlCommand(sql, con))
    {
        // prepare command here - parameters and stuff like that

        // either
        using(var reader = cmd.ExecuteReader())
        {

        }

        // or 
        using(var adapter = new SqlDataAdapter(cmd))
        {

        }

    }
}


  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 सर्वर / TSQL ट्यूटोरियल भाग 97

  2. डेटाबेस मेल खाता अपडेट करें (SSMS)

  3. वर्चर और nvarchar SQL सर्वर डेटा प्रकारों के बीच मुख्य प्रदर्शन अंतर क्या हैं?

  4. Statement.setFetchSize(nSize) विधि वास्तव में SQL सर्वर JDBC ड्राइवर में क्या करती है?

  5. डेटाबेस में आईडी फ़ील्ड के लिए INT बनाम विशिष्ट-पहचानकर्ता