আমি যখন ভিজ্যুয়াল স্টুডিওতে এই ত্রুটিটি অনুভব করেছি,
“এসকিউএল সার্ভারের সাথে সংযোগ স্থাপনের সময় একটি নেটওয়ার্ক সম্পর্কিত বা উদাহরণ-নির্দিষ্ট ত্রুটি ঘটেছে। সার্ভার পাওয়া যায় না বা প্রবেশযোগ্য ছিল না। উদাহরণটি সঠিক কিনা তা যাচাই করুন এবং দূরবর্তী সংযোগের অনুমতি দেওয়ার জন্য এসকিউএল সার্ভারটি কনফিগার করা হয়েছে। (সরবরাহকারী: নামযুক্ত পাইপ সরবরাহকারী, ত্রুটি: 40 - এসকিউএল সার্ভারের সাথে কোনও সংযোগ খুলতে পারেনি) "
... এটি নিম্নলিখিত সি # কোডটি কার্যকর করার সময় ছিল যা আমার এসকিউএল সার্ভারের ডেটা গ্রিডে প্রদর্শন করার জন্য এটি চেষ্টা করেছিল। বিরতিটি হ'ল লাইনে ঠিক যুক্ত হয়েছে যা সংযুক্ত করে বলে connectআপন ():
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
}
}
}
}
এটি অনভিজ্ঞ ছিল কারণ এসকিউএল কোয়েরিটি খুব সহজ ছিল, আমার কাছে সঠিক সংযোগের স্ট্রিং ছিল এবং ডেটাবেস সার্ভার উপলব্ধ ছিল। আমি নিজেই এসকিউএল ম্যানেজমেন্ট স্টুডিওতে নিজেই সত্যিকারের এসকিউএল ক্যোয়ারী চালানোর সিদ্ধান্ত নিয়েছিলাম এবং এটি ঠিকই দৌড়াদৌড়ি করেছে এবং বেশ কয়েকটি রেকর্ড পেয়েছে। তবে ক্যোয়ারির ফলাফলগুলির মধ্যে একটি জিনিস দাঁড়িয়েছিল: ফ্রেন্ডস টেবিলের মধ্যে ভার্চার (সর্বাধিক) টাইপ ফিল্ডের ভিতরে কিছু অযৌক্তিকভাবে এনকোডযুক্ত এইচটিএমএল পাঠ্য ছিল (বিশেষত, <!--
"বর্ণনামূলক" কলামের ডেটাতে থাকা সারণির কিছু এনকোডযুক্ত মন্তব্য প্রতীক )। সন্দেহভাজন তথ্য সারিটি এরকম দেখাচ্ছে:
Name Birthdate Narrative
==== ========= ==============
Fred 21-Oct-79 <!--HTML Comment -->Once upon a time...
এনকোডযুক্ত এইচটিএমএল প্রতীক " <
" দেখুন, যা "<" অক্ষরের জন্য দাঁড়িয়েছিল। কোনওভাবে এটি ডাটাবেসে প্রবেশ করেছে এবং আমার সি # কোড এটি তুলতে পারে নি! এটি প্রতিটি সংযোগে সরাসরি ব্যর্থ হয়েছে O আমি ম্যানুয়ালি ডেটাবেজ টেবিলের সেই সারিটি ডেটা সম্পাদনা করার পরে বন্ধুরা এবং এর পরিবর্তে ডিকোডেড "<" অক্ষর রেখেছি, সবকিছুই কাজ করেছে! এই সারিটি দেখতে কেমন হওয়া উচিত তা এখানে:
Name Birthdate Narrative
==== ========= ==============
Fred 21-Oct-79 <!--HTML Comment -->Once upon a time...
নীচে এই সাধারণ আপডেটের বিবৃতিটি ব্যবহার করে আমার একটি খারাপ সারিটি আমি সম্পাদনা করেছি। তবে আপনার যদি এনকোডড এইচটিএমএলটির বেশ কয়েকটি আপত্তিজনক সারি থাকে তবে আপনার আরও একটি বিস্তৃত আপডেটের বিবৃতি প্রয়োজন হতে পারে যা রিপ্লেস ফাংশনটি ব্যবহার করে:
UPDATE Friends SET Narrative = '<!--HTML Comment -->Once upon a time...' WHERE Narrative LIKE '<%'
সুতরাং, গল্পটির নৈতিকতাটি হ'ল (অন্ততপক্ষে আমার ক্ষেত্রে), আপনার এইচটিএমএল বিষয়বস্তুটি ডাটাবেসে সংরক্ষণের আগে স্যানিটাইজ করুন এবং আপনি এই ক্রিপ্টিক এসকিউএল সার্ভার ত্রুটিটি প্রথম স্থানটিতে পাবেন না! (উহ, আপনার HTML বিষয়বস্তুটিকে সঠিকভাবে স্যানিটাইজিং / ডিকোডিং করা আপনার যদি আরও তথ্যের প্রয়োজন হয় তবে আলাদা স্ট্যাকওভারফ্লো অনুসন্ধানের উপযুক্ত অন্য একটি আলোচনার বিষয়!)