2014-10-13 15 views
6

मैं अपने एएसपी .NET एप्लिकेशन के माध्यम से एमएसएसक्यूएल डेटाबेस से कनेक्ट कर रहा हूं, लेकिन कभी-कभी कनेक्शन खोलते समय मुझे यह त्रुटि मिली।एसक्यूएल सर्वर प्री-लॉग इन हैंडशेक

कनेक्शन टाइमआउट समाप्त हो गया। पूर्व-लॉगिन हैंडशेक पावती का उपभोग करने का प्रयास करते समय टाइमआउट अवधि समाप्त हो गई। ऐसा इसलिए हो सकता है क्योंकि प्री-लॉगिन हैंडशेक विफल हो गया था या सर्वर समय पर प्रतिक्रिया देने में असमर्थ था। इस सर्वर से कनेक्ट करने का प्रयास करते समय बिताए गए अवधि - [प्री-लॉग इन] प्रारंभिकरण = 3; हाथ मिलाना = 14,996;

इसे अस्थायी रूप से हल करने के लिए मुझे आईआईएस को पुनरारंभ करना होगा। मैं MSSQL से कनेक्ट करने के लिए इस कोड स्निपेट का उपयोग कर रहा:

 using (SqlConnection connection = new SqlConnection(connectionString)) 
     { 
      connection.Open(); 

      /* my commands here */ 

      connection.Close(); 
      connection.Dispose(); 
      SqlConnection.ClearPool(connection); 
     } 

मैं इनबाउंड और आउटबाउंड नियमों में पोर्ट 1433 की अनुमति दी है, लेकिन कोई बदलाव नहीं। मैं वहाँ निर्देशों का पालन के रूप में:

लेकिन कुछ भी नहीं बदला।

उत्तर

2

एमएसडीएन दस्तावेज़ के अनुसार।

ClearPool को साफ करता है कनेक्शन पूल कि connection.If अतिरिक्त कनेक्शन से संबंधित कनेक्शन के साथ जुड़ा हुआ है कॉल के समय उपयोग में हैं, वे उचित रूप से चिह्नित कर रहे हैं और उन्हें छोड़ दिया जाता (बजाय पूल को लौटाए जाने की) जब उन पर बंद कहा जाता है।

आप connection.close से पहले ClearPool पद्धति का उपयोग करना चाहिए

देखें: https://msdn.microsoft.com/zh-tw/library/system.data.sqlclient.sqlconnection.clearpool(v=vs.110).aspx

और तुम वस्तु प्रबंधन करने के लिए वाक्य रचना का उपयोग का उपयोग करते हैं आप connection.close विधि

का उपयोग should't क्योंकि यह जब वे खत्म हो जाएंगे तो कॉल करेंगे। बस अपने आदेश अपने कनेक्शन खोलने के लिए और निष्पादित

using (SqlConnection connection = new SqlConnection(connectionString)) 
    { 
     connection.Open(); 
     SqlConnection.ClearPool(connection); 
     /* my commands here */ 
     SqlCommand cmd = new SqlCommand("your command",conn); 
     cmd.ExecuteReader() 


    } 

उदाहरण देखें: https://msdn.microsoft.com/en-us/library/system.data.sqlclient.sqlconnection%28v=vs.110%29.aspx?f=255&MSPPError=-2147217396

पिछले सुनिश्चित एसक्यूएल सर्वर नेटवर्क कॉन्फ़िग सही

enter image description here

enter image description here

+0

था वहाँ कभी एक समाधान है पाया इसके लिए? मुझे एक ही त्रुटि मिल रही है लेकिन एसएसएमएस (प्रबंधन स्टूडियो) से जब एक दूरस्थ एम/सी से SQL सर्वर से कनेक्ट करने का प्रयास किया जाता है। – Aamir

+0

@ आमिर ने अपनी फ़ायरवॉल सेटिंग की जांच की? यदि आप रिमोट से हैं तो आपको SQL Server –

+0

@KingJk मूल प्रश्न के लिए 1433 (डिफ़ॉल्ट) पोर्ट खोलना चाहिए, अनुपलब्धता की स्पोरैडिक घटनाओं के बारे में मूल प्रश्न था। फ़ायरवॉल या तो हमेशा काम करेगा या हमेशा तोड़ देगा? इसके अलावा मुझे एक ही समस्या है। एक बार प्रबंधन स्टूडियो में थोड़ी देर के हैंडशेक में। (प्रति सप्ताह एक बार की तरह) –

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