जब मैंने Visual Studio में इस त्रुटि का अनुभव किया,
SQL सर्वर से कनेक्शन स्थापित करते समय “नेटवर्क-संबंधी या आवृत्ति-विशिष्ट त्रुटि उत्पन्न हुई। सर्वर नहीं मिला था या पहुंच योग्य नहीं था। सत्यापित करें कि उदाहरण का नाम सही है और दूरस्थ कनेक्शन की अनुमति देने के लिए SQL सर्वर कॉन्फ़िगर किया गया है। (प्रदाता: नामित पाइप प्रदाता, त्रुटि: 40 - SQL सर्वर से कनेक्शन नहीं खोल सकता) "
... यह निम्नलिखित सी # कोड के निष्पादन के दौरान था, जो मेरे SQL सर्वर डेटा को ग्रिड में प्रदर्शित करने के लिए प्राप्त करने का प्रयास कर रहा था। ब्रेक ठीक उस लाइन पर हुआ जो कनेक्ट करती है। ओपेन ():
using (var connect = Connections.mySqlConnection)
{
const string query = "SELECT Name, Birthdate, Narrative FROM Friends";
using (var command = new SqlCommand(query, connect))
{
connect.Open();
using (var dr = command.ExecuteReader())
{
while (dr.Read())
{
// blah
}
}
}
}
यह अकथनीय था क्योंकि SQL क्वेरी बहुत सरल थी, मेरे पास सही कनेक्शन स्ट्रिंग थी, और डेटाबेस सर्वर उपलब्ध था। मैंने वास्तविक SQL क्वेरी को मैन्युअल रूप से SQL प्रबंधन स्टूडियो में स्वयं चलाने का निर्णय लिया और यह ठीक चला और कई रिकॉर्ड बनाए। लेकिन क्वेरी के परिणामों में एक बात सामने आई: फ्रेंड्स टेबल के भीतर एक varchar (मैक्सिमम) टाइप फील्ड के अंदर कुछ अनुचित एनकोडेड HTML टेक्स्ट था (विशेष रूप से, <!--
"नैरेटिव" कॉलम के डेटा के भीतर दर्ज किए गए सॉर्ट के कुछ एनकोडेड कमेंट सिंबल )। संदिग्ध डेटा पंक्ति इस तरह दिखाई देती है:
Name Birthdate Narrative
==== ========= ==============
Fred 21-Oct-79 <!--HTML Comment -->Once upon a time...
एन्कोडेड HTML प्रतीक " <
" पर ध्यान दें, जो एक "<" वर्ण के लिए खड़ा था। किसी तरह से डेटाबेस में अपना रास्ता बना लिया और मेरा सी # कोड इसे नहीं उठा सका! यह कनेक्टऑन पर सही समय पर विफल हुआ। ओपेन () लाइन! जब मैंने मैन्युअल रूप से डेटाबेस तालिका में डेटा की एक पंक्ति को संपादित किया तो मित्र और इसके बजाय "<" वर्ण में डिकोड किया गया, सब कुछ काम कर गया! यहाँ पर उस पंक्ति को देखा जाना चाहिए:
Name Birthdate Narrative
==== ========= ==============
Fred 21-Oct-79 <!--HTML Comment -->Once upon a time...
मैंने नीचे दी गई इस सरल स्टेटमेंट स्टेटमेंट का उपयोग करके एक खराब पंक्ति को संपादित किया। लेकिन अगर आपके पास एन्कोडेड HTML की कई आक्रामक पंक्तियाँ थीं, तो आपको अधिक विस्तृत विवरण की आवश्यकता हो सकती है, जो कि READACE का उपयोग करता है:
UPDATE Friends SET Narrative = '<!--HTML Comment -->Once upon a time...' WHERE Narrative LIKE '<%'
तो, कहानी का नैतिक (कम से कम मेरे मामले में) है, डेटाबेस में संग्रहीत करने से पहले अपने HTML सामग्री को पवित्र करें और आपको यह गुप्त SQL सर्वर त्रुटि पहले स्थान पर नहीं मिलेगी! (उह, आपकी HTML सामग्री को ठीक से सैनिटाइज़ / डिकोड करना एक अन्य चर्चा का विषय है, जो अलग स्टैकऑवरफ़्लो खोज के योग्य है यदि आपको अधिक जानकारी की आवश्यकता है!)