টি এল; ডিআর; আপনার এসকিউএল সার্ভার উদাহরণটি ডায়নামিক পোর্টগুলি ব্যবহার করছে যা কাজ করছে না। এসকিউএল সার্ভারকে স্ট্যাটিক পোর্ট # 1433 ব্যবহার করতে বাধ্য করুন।
সম্পূর্ণ বিবরণ : এই সমস্যাটির প্রথমত যদি আপনি ডিফল্ট এবং নামযুক্ত উদাহরণের সাথে মিশ্রিত হন বা কেবল উদাহরণস্বরূপ (যা আমার ক্ষেত্রে ছিল) মিশ্রিত হয় তবে সম্ভবত আরও বেশি সমস্যা হয়।
মুল ধারনা : কম্পিউটারে ইনস্টল হওয়া মাইক্রোসফ্ট এসকিউএল সার্ভারের প্রতিটি উদাহরণ আগত সংযোগের অনুরোধগুলি শুনতে আলাদা পোর্ট ব্যবহার করে। এসকিউএল সার্ভারের ডিফল্ট উদাহরণটি # 1433 পোর্ট ব্যবহার করে named আপনি যেমন নামকরণ ইনস্টল করেন তারপরে তারা ডায়নামিক পোর্টগুলি ব্যবহার শুরু করবেন যা নামকরা এসকিউএল সার্ভারের উদাহরণ অনুসারে উইন্ডোজ পরিষেবা শুরু করার সময় সিদ্ধান্ত নেওয়া হবে।
আমার কোডটি আমার ভিএম-তে থাকা কেবলমাত্র এসকিউএল সার্ভারের উদাহরণ হিসাবে সংযোগ করতে ব্যর্থ হয়েছিল (ত্রুটি কোড 40 সহ)। আপনি সম্ভাব্য সমাধানগুলির নীচে চেষ্টা করতে পারেন:
সমাধান # 1 : এসকিউএল সার্ভারের সাথে সংযোগ স্থাপনের চেষ্টা করা ক্লায়েন্ট কোডটি এসকিউএল সার্ভার ব্রাউজার পরিষেবাটির সাহায্য নেবে যাতে আপনার নামক উদাহরণটি আগত সংযোগগুলির জন্য শুনছে এমন পোর্ট নম্বরটি নির্ধারণ করতে পারে। আপনার কম্পিউটারে এসকিউএল ব্রাউজার পরিষেবা চালু রয়েছে তা নিশ্চিত করুন।
সমাধান # 2 : পোর্ট # টি পরীক্ষা করুন (হলুদ রঙে) আপনার নামযুক্ত এসকিউএল সার্ভার উদাহরণটি এসকিউএল সার্ভার কনফিগারেশন ম্যানেজার থেকে নীচের স্ন্যাপশটে প্রদর্শিত হিসাবে ব্যবহার করছে:
আপনার সংযোগের স্ট্রিংয়ে বা sqlcmd
নীচে প্রদর্শিত সহ স্পষ্টভাবে সেই পোর্ট নম্বরটি ব্যবহার করুন :
sqlcmd -s mymachinename,11380 -i deleteDB.sql -o SQLDelete.txt
সমাধান # 3 : আপনার নামক উদাহরণটি পোর্ট # 1433 ব্যবহার করতে বাধ্য করুন যা ডিফল্ট উদাহরণস্বরূপ ব্যবহৃত হয়। মনে রাখবেন এটি কেবল তখনই কাজ করবে যদি আপনার কম্পিউটারে কোনও ডিফল্ট এসকিউএল সার্ভার উদাহরণ না থাকলে ডিফল্ট এসকিউএল সার্ভার উদাহরণটি ইতিমধ্যে # 1433 পোর্ট ব্যবহার করা হবে। একই পোর্ট নম্বর দুটি ভিন্ন ভিন্ন উইন্ডোজ পরিষেবা ব্যবহার করতে পারে না।
মার্ক TCP Dynamic ports
ফাঁকা করুন এবং ক্ষেত্র TCP Port
1433 থেকে ক্ষেত্র।
আপনার সংযোগ স্ট্রিংয়ের পোর্ট নম্বরটি নীচে প্রদর্শিত হিসাবে পরিবর্তন করুন:
sqlcmd -s mymachinename\instanceName -i deleteDB.sql -o SQLDelete.txt
অথবা
sqlcmd -s mymachinename,1433 -i deleteDB.sql -o SQLDelete.txt
বিঃদ্রঃ : টিসিপি / আইপি সেটিংসে প্রতিটি পরিবর্তনের জন্য উইন্ডোজ পরিষেবা পুনঃসূচনা সম্পর্কিত প্রয়োজন।
আকর্ষণীয়ভাবে ত্রুটিটি সমাধান করার পরে আমি যখন একই ত্রুটিটি পুনরুত্পাদন করার জন্য ডায়নামিক পোর্ট সেটিংয়ে ফিরে গিয়েছিলাম তখন তা ঘটেনি। নিশ্চিত কেন।
এসকিউএল সার্ভারের গতিশীল পোর্টগুলি সম্পর্কে আরও জানতে দয়া করে আকর্ষণীয় থ্রেডগুলি পড়ুন:
একাধিক উদাহরণে কীভাবে এসকিউএল সার্ভার পোর্ট কনফিগার করবেন?
ডায়নামিক পোর্ট কখন "ডায়নামিক" হয়?
টিসিপি গতিশীল পোর্ট কখন এবং টিসিপি পোর্ট কখন ব্যবহার করবেন?
আমি এই ব্লগ থেকে আমার সমস্যার সমাধানের দিকে নিয়ে এসেছি ।