আপনি যেখান থেকে রেকর্ড নির্বাচন করছেন তা সারণীতে কলামের নাম, উপাত্তের ধরণ এবং ক্রমটি নিশ্চিত করুন the কেবলমাত্র পার্থক্যটি এমন হওয়া উচিত যে গন্তব্য সারণীর প্রথম কলাম হিসাবে একটি পরিচয় কলাম থাকতে পারে, এটি উত্স সারণীতে নেই।
আমি যখন "INSERT INTO table_Dest SELECT * FROM table_source_linked_server_excel" চালাচ্ছিলাম তখন আমি একই ধরণের সমস্যার মুখোমুখি হয়েছি। টেবিলগুলির মধ্যে 115 টি কলাম ছিল।
আমার এমন দুটি টেবিল ছিল যেখানে আমি এক্সেল থেকে ডেটাবেজে টেবিলে (সংযুক্ত সার্ভার হিসাবে) লোড করছিলাম। ডাটাবেস সারণিতে, আমি 'আইডি' নামে একটি পরিচয় কলাম যুক্ত করেছি যা উত্স এক্সেলের মধ্যে নেই। একটি টেবিলের জন্য ক্যোয়ারীটি সফলভাবে চলছিল এবং অন্যটিতে আমি ত্রুটি পেয়েছি "টেবিলের পরিচয় কলামের জন্য একটি স্পষ্ট মান কেবল তখনই নির্দিষ্ট করা যেতে পারে যখন একটি কলাম তালিকা ব্যবহার করা হয় এবং আইডিএনটিটিআইপিএসআরটি এসকিউএল সার্ভার চালু থাকে"। উভয় প্রশ্নের জন্য দৃশ্যটি হুবহু হওয়ায় এটি বিস্মিত হয়েছিল। সুতরাং আমি এটি তদন্ত করেছি এবং আমি যা পেয়েছি তা হ'ল যে প্রশ্নের সন্ধানে আমি INSERT INTO এর সাথে ত্রুটি পাচ্ছিলাম .. নির্বাচন করুন:
- মানগুলি সঠিক হলেও উত্স সারণীতে কলামের কিছু নাম পরিবর্তন করা হয়েছিল
- প্রকৃত ডেটা কলামগুলির বাইরে কিছু অতিরিক্ত কলাম রয়েছে যা SELECT * দ্বারা নির্বাচন করা হয়েছিল। উত্স এক্সেল টেবিলের (লিঙ্কযুক্ত সার্ভারের অধীনে) "স্ক্রিপ্ট টেবিল হিসাবে> নতুন জিজ্ঞাসা উইন্ডো হিসাবে নির্বাচন করুন" বিকল্পটি ব্যবহার করে এটি আবিষ্কার করেছি। এক্সেলের শেষ কলামের ঠিক পরে একটি লুকানো কলাম ছিল, যদিও এতে কোনও ডেটা নেই। আমি উত্স এক্সেল সারণীতে সেই কলামটি মুছে ফেলেছি এবং সংরক্ষণ করেছি।
উপরোক্ত দুটি পরিবর্তন করার পরে INSERT INTO ... নির্বাচন করুন ... এর জন্য ক্যোয়ারীটি সফলভাবে চলল। গন্তব্য সারণিতে পরিচয় কলাম প্রত্যাশিত প্রতিটি সন্নিবেশ করা সারির জন্য পরিচয় মান উত্পন্ন করে।
সুতরাং, যদিও গন্তব্য সারণীতে একটি পরিচয় কলাম থাকতে পারে যা উত্স সারণীতে নেই, INSERT INTO .. SELECT * সফলভাবে চলবে যদি উত্স এবং গন্তব্যের নাম, উপাত্তের ধরণ এবং কলাম ক্রম ঠিক একই হয়।
আশা করি এটি কাউকে সাহায্য করবে।