ADO.Net अनुप्रयोग केवल कभी-कभी स्थानीय नेटवर्क पर किसी अन्य सर्वर से कनेक्ट करने में सक्षम होता है। यह यादृच्छिक लगता है कि क्या दिया गया कनेक्शन का प्रयास सफल होता है या विफल। कनेक्शन प्रपत्र में कनेक्शन स्ट्रिंग का उपयोग कर रहा है:
सर्वर = THESERVER \ TheInstance; डेटाबेस = TheDatabase; यूजर आईडी = TheUser; पासवर्ड = ThePassword;
दी गई त्रुटि है:
कनेक्शन समय समाप्त हो गया। प्री-लॉगिन हैंडशेक पावती का उपभोग करने का प्रयास करते हुए समयावधि समाप्त हो गई।
ऐसा इसलिए हो सकता है क्योंकि प्री-लॉगिन हैंडशेक विफल हो गया था या सर्वर समय पर वापस प्रतिक्रिया देने में असमर्थ था।
इस सर्वर से जुड़ने का प्रयास करते समय बिताई गई अवधि थी - [पूर्व-लॉगिन] आरंभ = 42030; हाथ मिलाना = 0;
.NET एप्लिकेशन एक छोटा परीक्षण ऐप है जो निम्नलिखित कोड को निष्पादित करता है:
using (SqlConnection conn = new SqlConnection(cs))
using (SqlCommand cmd = new SqlCommand("SELECT COUNT(*) FROM TheTable", conn))
{
conn.Open();
int rowCount = (int)cmd.ExecuteScalar();
}
TheTable छोटा है, सिर्फ 78 पंक्तियाँ।
हालाँकि, उसी मशीन पर जहां .NET एप्लिकेशन को यह त्रुटि मिलती है, मैं कनेक्शन स्ट्रिंग में SSMS और उपयोगकर्ता आईडी / पासवर्ड का उपयोग करके THESERVER से कनेक्ट करने में सक्षम हूं।
ADO.Net ऐप से कनेक्शन क्यों विफल हो सकता है, लेकिन SSMS से समान क्रेडेंशियल्स के साथ सफल हो सकता है?


