Anonim

এসকিউএল স্টেটমেন্ট চালানোর সময় আপনি মাঝে মধ্যে একটি ওরা -00942 ত্রুটি দেখতে পান। এর কয়েকটি কারণ রয়েছে এবং যথারীতি ত্রুটি বাক্য গঠনটি সর্বাধিক বর্ণনামূলক নয়। যদি আপনি এর বিপরীতে আসেন এবং কীভাবে ওরা -00942 ত্রুটিটি ঠিক করতে চান তা জানতে চান।

যতদূর আমি জানি, ওরা -00942 ত্রুটির তিনটি প্রধান কারণ রয়েছে:

  1. অপ্রতুল ব্যবহারকারীর সুবিধা
  2. টেবিল বা দৃশ্যটি আসলে বিদ্যমান নেই
  3. সারণী বা দর্শনটি ভিন্ন স্কিমায় রয়েছে in

আমি আপনাকে প্রত্যেককে কীভাবে সম্বোধন করব তা আপনাকে দেখাব।

ওরা -00942 ত্রুটিটি ঠিক করুন

প্রথমে, কিছুটা অস্বীকার করুন। আমি কোনও ডিবিএ নই, আমি একটি উইন্ডোজ প্রশাসক এবং ডেস্কটপ এবং সার্ভার হার্ডওয়্যার প্রযুক্তি। আমি জানি যে কীভাবে এসকিউএল চালানো যায় তবে কোনও ডিগ্রি না করে অবশ্যই সমস্যাগুলি সমাধান করতে পারে এমন স্তরে নয়। আমাকে সাহায্যের জন্য একটি ওরাকল ডিবিএ বন্ধুকে জিজ্ঞাসা করতে হয়েছিল, সুতরাং আমি এই টুকরোটি লেখার সময়, চালাক বিটগুলি সব তার।

ওরা -00942 ত্রুটির তিনটি কারণের এই তালিকাটি সম্পূর্ণ নয়। স্পষ্টতই এর অন্যান্য এলোমেলো কারণ রয়েছে তবে এই তিনটি দৃশ্যত সবচেয়ে সাধারণ।

অপ্রতুল ব্যবহারকারীর সুবিধা

ওরা -00942 ত্রুটির একটি মূল কারণ হ'ল ব্যবহারকারীকে প্রশ্নযুক্ত টেবিলটি অ্যাক্সেস করার পর্যাপ্ত সুযোগ-সুবিধা নেই। আপনি দুটি প্রশ্ন চালিয়ে এটি পরীক্ষা করতে পারেন।

- ব্যবহারকারী বা ভূমিকার জন্য সিস্টেমের সুযোগ-সুবিধাগুলি তালিকাভুক্ত করুন * থেকে dba_sys_privs থেকে * নির্বাচন করুন যেখানে মঞ্জুরি প্রাপ্ত হন (& ব্যবহারকারী_রোল, 'পাবলিক');

- ব্যবহারকারী বা ভূমিকা জন্য অবজেক্ট সুবিধাগুলি তালিকাভুক্ত

গ্রান্টি, মালিক || '।' || টেবিলের নাম অবজেক্ট, বিশেষাধিকার, মঞ্জুরিপ্রাপ্ত FROM dba_tab_privs যেখানে মঞ্জুরি দেওয়া হয় (& ব্যবহারকারীর_চিকিত্সা) অর্ডার বা গ্রান্টি, মালিক || '।' || টেবিলের নাম, অধিকার;

এই দুটি আপনাকে জানাবে যে প্রশ্নে থাকা ব্যবহারকারীর কমান্ডটি চালনার সঠিক সুযোগ রয়েছে কিনা। যদি ব্যবহারকারীটির সঠিক অধিকার থাকে তবে পরবর্তীটিতে যান। যদি ব্যবহারকারীর সঠিক সুবিধা না থাকে তবে তাদের এটিকে মঞ্জুরি দিন বা আপনার ডিবি অ্যাডমিনকে এটি করতে বলুন।

ওআর -00942 ত্রুটিটিও ঘটতে পারে যদি আপনি যে স্কিমার ব্যবহার করছেন তার ব্যবহারকারীর INSERT সুবিধাগুলি রয়েছে তবে নির্বাচন সুবিধাগুলি নেই। আবার, সুবিধাপ্রাপ্তির স্তরটি চেক করুন এবং তালিকায় SELECT যুক্ত করুন বা এটি করতে একটি ডিবি অ্যাডমিনকে বলুন। স্পষ্টতই, প্রতিটি স্কিমাতে নির্দিষ্ট SELECT সুবিধা প্রদান করতে হবে অন্যথায় আপনি তবুও ওরা -00942 ত্রুটি দেখতে পাবেন।

টেবিল বা দৃশ্যটি আসলে বিদ্যমান নেই

ওরা-00942 ত্রুটির এই কারণটি ভুল কোয়েরি সিনট্যাক্সের কারণে বা টেবিলটি উপস্থিত না থাকলে হতে পারে। এটি শুরু করার পক্ষে যুক্তিসঙ্গত প্রথম স্থান হিসাবে মনে হলেও, আমি নির্ভরযোগ্যভাবে নিশ্চিত হয়েছি যে ব্যবহারকারীর অধিকার ত্রুটির এক নম্বর কারণ। টেবিলটি সেখানে নেই বা ব্যবহার করা হচ্ছে এমন ভুল সারণী বাক্য গঠন দ্বিতীয়।

টেবিলটি বিদ্যমান কিনা তা পরীক্ষা করতে প্রথমে কোয়েরির বাক্য গঠনটি পরীক্ষা করে দেখুন। যদি সিনট্যাক্সটি সঠিক হয় তবে এই ক্যোয়ারীটি চালান।

সমস্ত নির্বাচনী ক্ষেত্রের মালিক, অবজেক্ট_নাম, অবজেক্ট_ টাইপ করুন যেখানে অবজেক্ট টাইপ ইন ('টেবিল', 'ভিউ') এবং অবজেক্ট_নেম = 'YOUR_TABLE_NAME';

সেই শেষ লাইনে, আপনি 'YOUR_TABLE_NAME' দেখতে পাবেন এমন আসল সারণির নামটি সন্নিবেশ করুন। এটি আপনাকে অবশ্যই জিজ্ঞাসা করবে যে আপনি যে সারণীর সন্ধানের চেষ্টা করছেন সেটি উপস্থিত আছে কি নেই। যদি এটি কোনও টেবিল না দিয়ে ফিরে আসে, আপনি যে টেবিলটি জিজ্ঞাসা করছেন তা স্কিমা বা ডাটাবেসে বিদ্যমান নেই।

আপনি যে সিস্টেমটি ব্যবহার করছেন তাতে যদি কোনও টেবিল মেনু থাকে তবে আপনি যদি পছন্দ করেন তবে ম্যানুয়ালি টেবিলে পরীক্ষা করতে পারেন তবে উপরের ক্যোয়ারীটি কাজটি সম্পন্ন করে।

সারণী বা দর্শনটি ভিন্ন স্কিমায় রয়েছে in

যদি ব্যবহারকারীর সুবিধাগুলি থাকে এবং টেবিলটি বিদ্যমান থাকে এবং আপনি এখনও ওরা -00942 ত্রুটিটি দেখছেন তবে এটি সম্ভবত স্কিমাতে নেমে আসবে। আপনি যদি একাধিক স্কিমা পরিচালনা করছেন তবে এমন কোনও স্কিমার বিরুদ্ধে কোনও ক্যোয়ারী চালানো সহজ যা আপনার নয়। আপনি যখন ব্যস্ত থাকেন এবং এর বিরুদ্ধে থাকেন, এটি করা সহজ ত্রুটি।

আপনি যদি নিজের কোয়েরির FROM লাইনে স্কিমা নাম যুক্ত করতে পারেন তবে ম্যানুয়ালি স্কিমাটি পরীক্ষা করুন। যদি আপনার কাছে নতুন স্কিমাটির জন্য সঠিক সুবিধা না থাকে তবে আপনি আরও একবার ওরা -00942 ত্রুটি দেখতে পাবেন। প্রথম ব্যবহারকারীর সুবিধার ফিক্সে ফিরে আসুন এবং সম্পর্কিত স্কিমাটি পরীক্ষা করুন বা আপনার ডিবিএটি এটি করার জন্য পান।

উপরে উল্লিখিত হিসাবে, আমি এই টুকরোটির জন্য আমার একটি ওরাকল ডিবিএ বন্ধুটির সাথে পরামর্শ করেছি যাতে কঠোর পরিশ্রমের জন্য তার সমস্ত কৃতিত্ব। আপনি যদি এখানে কোনও ত্রুটি বা বাদ পড়েন তবে সেগুলি আমার একা। আমি যদি কিছু মিস করি বা ভুল হয়ে যায় তবে মন্তব্য বিভাগে আমাকে জানান এবং আমি এটি সংশোধন করব।

যদি আপনি ওরা -00942 ত্রুটিটি ঠিক করার অন্য কোনও উপায় সম্পর্কে জানেন তবে নীচে এটি সম্পর্কে আমাদের জানান!

ওরা -00942 ত্রুটিটি কীভাবে ঠিক করবেন