Anonim

ডেটাবেস মেভেনস রিলেশনাল ডাটাবেস ম্যানেজমেন্ট সিস্টেম (ডিবিএমএস) বিশ্বে পাওয়ার হাউস হিসাবে ওরাকল নামটি স্বীকৃতি দেবে। ওরাকল কয়েক দশক ধরে খুব উচ্চ-চালিত ডিবিএমএস সলিউশন তৈরি করেছেন এবং এই ক্ষেত্রে এক শীর্ষস্থানীয় রয়েছেন। পূর্বনির্ধারিত সমাধানটি ব্যবহার করার সময় ডাটাবেস পণ্যগুলির অনেক শেষ ব্যবহারকারী বিভ্রান্ত বা বিহ্বল হয়ে যেতে পারে এবং এটি একটি ত্রুটি বার্তা উত্পন্ন করে। ওরাকল দ্বারা উত্পাদিত একটি সাধারণ ত্রুটি বার্তাটি হল ORA-06512 ত্রুটি।

এছাড়াও আমাদের নিবন্ধটি দেখুন কীভাবে ওরা -00942 ত্রুটিটি ঠিক করা যায়

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

আপনি যদি গ্রাউন্ড আপ থেকে ওরাকল সম্পর্কে আরও জানতে চান তবে এই পৃষ্ঠাটি খুব কার্যকর।

ORA-06512 ত্রুটিগুলি ঠিক করা

ওরাকলে, একটি ORA-06512 ত্রুটি একটি সাধারণ ব্যতিক্রম ত্রুটি যা আপনাকে জানায় যেখানে কিছু ভুল হচ্ছে। এটি ওরাকল দ্বারা উত্পাদিত সর্বনিম্ন সুনির্দিষ্ট ত্রুটিগুলির মধ্যে একটি, কারণ এটি কেবল আপনাকে বলে যে একটি সমস্যা আছে, তবে কী ভুল হচ্ছে তা নয়।

উদাহরণস্বরূপ, একটি সাধারণ ত্রুটি বার্তা পড়তে পারে:

“ORA-01422: সুনির্দিষ্ট অনুরোধ করা সংখ্যার চেয়ে বেশি আনতে হবে

ORA-06512: "DATABASE_NAME" এ, লাইন 66 66

ORA-06512: লাইন 1 at

প্রথম লাইন আপনাকে জানায় কী ধরণের ত্রুটি ঘটছে, এক্ষেত্রে ক্যোয়ারী ক্যোয়ারীর প্রত্যাশার চেয়ে বেশি ডেটা ফিরিয়ে দিচ্ছে যাতে এটি কীভাবে পরিচালনা করতে হয় তা জানে না। 'ORA-01422' কোডটি হ'ল আসল ত্রুটি কোড যা আপনার দিকে নজর দেওয়া উচিত। ORA-06512 কেবল সাধারণ ত্রুটি কোড।

দ্বিতীয় লাইনটি আপনাকে জানায় যে ত্রুটিটি কোথায় ঘটছে। DATABASE_NAME আপনি যে সময়ে ডাটাবেসে কাজ করছেন তা হতে চলেছে। লাইন 66 হ'ল লাইনটি যেখানে ত্রুটিটি ঘটছে এবং ত্রুটিটি সংশোধন করার জন্য আপনাকে যে রেখাটি পরীক্ষা করতে হবে এটি হল।

ত্রুটি সিনট্যাক্সের তৃতীয় লাইনটি আপনাকে বলবে যে কলটি কোথা থেকে এসেছে। একটি লাইন চেক করুন এবং আপনি DATABASE_NAME এ একটি কল দেখতে পাবেন।

এই নির্দিষ্ট ত্রুটিটি সমাধান করার জন্য, আপনাকে ORA-01422 দ্বারা সৃষ্ট সমস্যাটি ঠিক করতে হবে, যা 'অনুরোধকৃত সারিগুলির তুলনায় নির্ভুল আনয়ন' বা ওরাকলকে এড়িয়ে যাওয়ার জন্য আপনাকে একটি ব্যতিক্রম হ্যান্ডলার যুক্ত করতে হবে to যেহেতু মূল সমস্যাটি স্থির করা সর্বদা পছন্দনীয়, তাই এই পথটি।

দুটি জিনিস আপনি করতে পারেন। যদি আপনি কোয়েরিটি একটি একক সারির চেয়ে বেশি ফেরতের প্রত্যাশা করেন তবে আপনি এটি সংশোধন করতে পারেন যাতে অবাক হওয়ার কিছু নেই। যদি আপনি কেবল কোয়েরিটি একটি একক সারিতে ফিরে আসার প্রত্যাশা করেন তবে আপনি এটির জন্যও এটি পরিবর্তন করতে পারেন।

একক সারির চেয়ে বেশি প্রত্যাশা করা:

এক্স ইন এর জন্য (টি থেকে কোথা থেকে নির্বাচন করুন…)

লুপ

- এক্স রেকর্ড এখানে প্রক্রিয়া

শেষ লুপ;

এটিতে ডাটাবেস অনুসন্ধানগুলিতে ত্রুটিটি মুছে ফেলা উচিত যেখানে একাধিক সারি ফেরত দেওয়া হবে।

আপনি যদি কেবল একটি একক সারি প্রত্যাবর্তনের প্রত্যাশা করেন, আপনি চেষ্টা করতে পারেন:

শুরু করা

মধ্যে * নির্বাচন করুন।

কোথা থেকে…।

প্রক্রিয়া …।

ব্যতিক্রম

যখন NO_DATA_FOUND তখন

কোনও রেকর্ড পাওয়া না গেলে কোড পরিচালনা করার সময় ত্রুটি

তখন যখন TOO_MANY_ROWS

অনেকগুলি রেকর্ড পাওয়া গেলে কোড পরিচালনা করার সময় ত্রুটি

শেষ;

এই দ্বিতীয় পদ্ধতিটিতে 'ORA-01422' না ফেলে কেবল একটি একক সারি সরবরাহ করা উচিত: নির্ভুল আনতে অনুরোধ করা সারিগুলির সংখ্যার চেয়ে বেশি প্রদান করে 'ত্রুটি এবং সুতরাং মূল ORA-06512 ত্রুটি।

আপনি ক্যোয়ারীটিকে টুইঙ্ক করতে পারেন যাতে এটি কেবল একাধিক সারির উত্তরের প্রথম সারিটি দেয়। ডাটাবেসের উপর আপনার সম্পূর্ণ নিয়ন্ত্রণ না থাকলে বা খুব বেশি জিনিস নিয়ে গণ্ডগোল করতে না চান তবে এখনও একটি উত্তর প্রয়োজন হলে এটি কাজ করতে পারে।

ঘোষণা করা

টি থেকে কোথাও নির্বাচন করতে সি 1 কার্সার…

শুরু করা

খোলা সি 1;

সি 1 এ আনুন ..

যদি (সি 1% নোটফাউন্ড) হয় তবে

কোনও রেকর্ডের জন্য ত্রুটি হ্যান্ডলিং পাওয়া যায় নি

যদি শেষ;

বন্ধ c1;

শেষ;

(আপনি যদি এসকিউএল জানেন তবে আপনি এই কমান্ড লাইনগুলি দ্বারা কিছুটা বিভ্রান্ত হতে পারেন… ওরাকল ট্রান্সঅ্যাক্ট-এসকিউএল ব্যবহার করে না বরং এটি এসকিউএল, পিএল / এসকিউএল এর নিজস্ব প্রসেসরিজ ভাষা এক্সটেনশন। অনেক চতুর জিনিস এবং এটি নিজেরাই খুব শক্তিশালী একটি সরঞ্জাম O ওরাকল সম্পর্কে শেখার চেষ্টা করার সময় আপনি এই পিএল / এসকিউএল এফএকিউ দরকারী হতে পারে))

সুতরাং এখানে প্রাথমিক পাঠটি একটি ORA-06512 ত্রুটির চেয়ে বেশি এবং নিজেই, আপনি সরাসরি ঠিক করতে পারেন এমন কিছু নয়। পরিবর্তে আপনাকে প্রকৃত ত্রুটিটি কী তা নির্ধারণ করতে হবে, যা অন্যান্য ত্রুটি কোডগুলি আপনাকে বলে দেবে এবং তারপরে একে একে সেই ত্রুটিগুলি সমাধান করবে।

আপনার কাছে ভাগ করার মতো কোনও ওরাকল টিপস বা কৌশল আছে? আমাদের তাদের মন্তব্য সম্পর্কে জানতে দিন!

ওরাকল ডিবিতে ওরা -06512 ত্রুটিগুলি কীভাবে ঠিক করবেন