ORA-28040: কোনও মিল নেই প্রমাণীকরণ প্রোটোকল ব্যতিক্রম


92

আমি আমার গ্রিল প্রকল্পগুলি উইন্ডোজ (8) সিস্টেমে ওরাকল ডাটাবেসে ( ওরাকল 12 সি) সাথে সংযুক্ত করার চেষ্টা করছি । তবে, যখনই আমি আমার অ্যাপ্লিকেশনটি চালাই আমি নিম্নলিখিত ব্যতিক্রমগুলি পাই:

Caused by: org.apache.commons.dbcp.SQLNestedException: 
Cannot create PoolableConnectionFactory (ORA-28040: 
No matching authentication protocol)

Caused by: 
java.sql.SQLException: ORA-28040: 
No matching authentication protocol

ইন্টারনেট পরামর্শ অনুসারে আমি আমার *.oraফাইল সম্পাদনা করার চেষ্টাও করেছি কিন্তু এটি কার্যকর হচ্ছে না।

আমি sqlnet.oraফাইলে নিম্নলিখিত স্নিপেট যুক্ত করেছি :

SQLNET.ALLOWED_LOGON_VERSION=10
SQLNET.ALLOWED_LOGON_VERSION_CLIENT=10
SQLNET.ALLOWED_LOGON_VERSION_SERVER=10

এখানে আমি বরাদ্দ দেওয়ার চেষ্টা করেছি (10,11,12) তবে তাদের দু'জনই কাজ করছে না।

কেউ কি আমাকে এই সাহায্য করতে পারেন?


আপনি কোন sqlnet.ora ক্লায়েন্ট বা সার্ভারে একটি সম্পাদনা করেছেন?
জন হেলার

4
আমি নিশ্চিত যে আমি এটি নবাগত হিসাবে। তবে আমি সম্পাদিত ফাইলটিতে মাত্র কয়েকটি লাইন রয়েছে। এটি এতে রয়েছে: '# sqlnet.ora নেটওয়ার্ক কনফিগারেশন ফাইল: ই: \ অ্যাপ্লিকেশন \ অধিকারীমান01 \ পণ্য \ 12.1.0 \ dbhome_1 \ নেটওয়ার্ক \ প্রশাসক q sqlnet.ora # ওরাকল কনফিগারেশন সরঞ্জাম দ্বারা উত্পাদিত। # এই ফাইলটি আসলে নেটকা দ্বারা উত্পাদিত। তবে যদি গ্রাহকরা "কেবলমাত্র সফটওয়্যার" ইনস্টল করতে চান, এই ফাইলটির অস্তিত্ব নেই এবং স্থানীয় # প্রমাণীকরণ ব্যতীত, তারা এনটি-তে ডাটাবেসের সাথে সংযোগ করতে সক্ষম হবে না। SQLNET.AUTHENTICATION_SERVICES = (NTS) NAMES.DIRECTORY_PATH = (TNSNAMES, EZCONNECT) '
আমন অধিকারী

4
এটি ডাটাবেস সার্ভারের ফাইলের মতো মনে হচ্ছে। এই সমস্যাগুলি সত্যিই কঠিন হতে পারে। আপনি এসকিউএল * প্লাস ব্যবহার করে ডাটাবেস সার্ভারের সাথে সংযোগ স্থাপন করতে পারেন? আপনি কি একটি জেডিবিসি পাতলা ক্লায়েন্ট ব্যবহার করছেন, এবং যদি তাই হয় তবে আপনি কি ঘন ক্লায়েন্ট চেষ্টা করতে পারেন?
জন হেলার

হ্যাঁ, আমি এসকিউএল * প্লাসের মাধ্যমে সংযুক্ত রয়েছি
আমান অধিকার

4
আমি বিষয়টি সমাধান করেছি :)। আমি ojdbc14.jar ফাইলটি মুছে ফেলেছি এবং এর পরিবর্তে ojdbc6.jar ব্যবহার করেছি এবং এটি আমার পক্ষে কাজ করে। যাইহোক উত্তর দেওয়ার জন্য ধন্যবাদ।
আমান অধিকারী

উত্তর:


152

আমি ojdbc14.jar ফাইলটি মুছে ফেলেছি এবং এর পরিবর্তে ojdbc6.jar ব্যবহার করেছি এবং এটি আমার পক্ষে কাজ করে


4
পেন্টাহো কেটলি থেকে ওরাকল 12 সি সংযোগ করার চেষ্টা করার সময় একই সমস্যাটি উপভোগ করুন। ojdbc14.jar মুছে ফেলা হয়েছে এবং এটি পুরোপুরি কাজ করছে!
লর্ড

17
এটি কেন কাজ করা উচিত তা কমপক্ষে একটি সংক্ষিপ্ত বিবরণ hand
ইউরি ক্রেভেটস

8
আমার জন্য, ojdbc6.jar বা ojdbc7.jar এ পরিবর্তন করা এখনও ব্যর্থ হয়েছে কারণ আমি ক্রমাগত সেট করে যাচ্ছিলাম: oracle.jdbc.thinLogonCapability"="o3"যা আপনাকে আরাকল 12 সি এর বিরুদ্ধে আর করতে হবে না। আশা করি এটি অন্য কাউকে সাহায্য করতে পারে
জেমস টোবিন

4
এটি ojdbc14.jar মুছে ফেলা এবং ojdbc6.jar ব্যবহার করার পরে নিখুঁত কাজ করে
স্যাম

4
@YuriyKravets সংখ্যা 14ojdbc14.jar এবং নম্বর 6 মধ্যে ojdbc6.jar JDK সংস্করণ তারা লেখা হয়েছে উল্লেখ করে। আপনি যদি ojdbc14.jar এর ম্যানিফেস্ট ফাইলটি খোলেন , এটি বলে: স্পেসিফিকেশন-শিরোনাম: "JDK1.4 ব্যবহারের জন্য ওরাকল জেডিবিসি ড্রাইভার ক্লাসগুলি" একইভাবে, ojdbc6.jar জেডিকে 1.6 বাস্তবায়ন সমর্থন করে।
ম্যাভারিক

55

বিশেষজ্ঞদের-এক্সচেঞ্জে আমি এখানে কিছু পাঠ্য পেয়েছি :

বাগ 14575666

12.1-এ, এসকিউএলএনইটিএলএলএইচএলএনইএলওএলজিওএন_ভিউএসএন প্যারামিটারের জন্য ডিফল্ট মান 11 এ আপডেট করা হয়েছে This

এটি ডিবিসিএ ব্যবহার করে একটি 10.2.0.5 অরাকল আরএসি ডাটাবেস তৈরি করবে যা ORA-28040 এর সাথে ব্যর্থ হতে পারে: 12.1 ওরাকল এএসএম এবং ওরাকল গ্রিড অবকাঠামো পরিবেশে কোনও মিল নেই প্রমাণীকরণ প্রোটোকল ত্রুটি।

ওয়ার্কআউন্ডআউন্ড: ওরাকল / নেটওয়ার্ক / অ্যাডমিন / সেক্লনেট.ওর ফাইলটিতে SQLNET.ALLOWED_LOGON_VERSION = 8 সেট করুন।


শুধু রেফারেন্সের জন্য এই আমার ojdbc14.jar ফাইল মুছে ফেলার এবং ojdbc6.jar ব্যবহার কাজ
rageit

4
হ্যাঁ, আমার ক্ষেত্রে এটি সমস্যার সমাধান করেছে তবে অন্যটি ঘটেছে: অবৈধ ব্যবহারকারী নাম / পাসওয়ার্ড। বিটিডব্লিউ আমি ওরাকল জেডিফলার 10 থেকে ওরাকল ডাটাবেস 12 সিতে সংযোগ দেওয়ার চেষ্টা করছিলাম। সুতরাং এটির উত্তরটি দেওয়া হল: stackoverflow.com/questions/14476875/… অবশেষে: 1) এসকিউএলএনট.এলএলএইচএলজিও_ভার্সনটি 8 এ পরিবর্তন করতে হবে) এসকিউএলনেট.অথিউশনিকেশন সার্ভিসেসে (কোনটি নয়) 3) বিকল্প পদ্ধতি সেট SEC_CASE_SENSITIVE_LOGON = ওয়েবসাইটের = পিডাব্লু দ্বারা সনাক্ত করা (এখন পাসওয়ার্ডটি পুনরায় সংরক্ষণ করার জন্য আমরা কেস-সংবেদনশীলতা পরিবর্তন করেছি)
হ্যালো_আরথ

পার্টিতে দেরীতে, তবে আমি এই ফিক্সটিও নিশ্চিত করেছি। আমি ছিল নতুন চেয়ে 8 কাজ কিছুই - আমার সংস্করণ = 8 সেট করতে যদিও আমি JDBC এর 11 দৌড়াচ্ছিলাম।
কিথ

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

5

আমি ojdbc8.jar ব্যবহার করে এই সমস্যাটি সমাধান করেছি। ওরাকল 12 সি ojdbc8.jar এর সাথে সামঞ্জস্যপূর্ণ


5

এটি sqlnet.ora এ নিম্নলিখিত যোগ করা ব্যতীত

SQLNET.ALLOWED_LOGON_VERSION_CLIENT = 8
SQLNET.ALLOWED_LOGON_VERSION_SERVER = 8

যদি আপনি "ORA-01017: অবৈধ ব্যবহারকারীর নাম / পাসওয়ার্ড; লগন অস্বীকার" ত্রুটি পেয়ে থাকেন তবে আপনাকে আপনার পাসওয়ার্ডটি পুনরায় তৈরি করতে হবে।


যদি আপনি "ORA-01017: অবৈধ ব্যবহারকারীর নাম / পাসওয়ার্ড; লগন অস্বীকার" ত্রুটি পেয়ে থাকেন তবে আপনাকে আপনার পাসওয়ার্ডটি পুনরায় তৈরি করতে হবে। এই ছিল জীবন রক্ষাকারী !! আপনাকে ধন্যবাদ
থমাস ভিসি

3

Sqlnet.ora এ নিম্নলিখিতগুলি যুক্ত করা ব্যতীত

SQLNET.ALLOWED_LOGON_VERSION_CLIENT = 8
SQLNET.ALLOWED_LOGON_VERSION_SERVER = 8

আমি ক্লায়েন্ট এবং সার্ভার উভয়তে নিম্নলিখিতগুলি যুক্ত করেছি, যা আমার সমস্যাটি সমাধান করেছে

SQLNET.AUTHENTICATION_SERVICES = (NONE)

ORA-28040 পোস্টটিও দেখুন : কোনও মেলে না প্রমাণীকরণের প্রোটোকল


3

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

  1. প্রকল্প নির্বাচন করুন Project Explorer
  2. রাইট ক্লিক করুন Project -> Build Path -> Configure Build Path
  3. Order and Exportট্যাবে যান এবং নির্বাচন করুনojdbc.jar
  4. TOPএটিকে শীর্ষে নিয়ে যেতে বোতামটি ক্লিক করুন

1

যুক্ত হচ্ছে

SQLNET.ALLOWED_LOGON_VERSION_SERVER = 8

নিখুঁত সমাধান sql.ora ডিরেক্টরি .. \ পণ্য \ 12.1.0 \ dbhome_1 \ নেটওয়ার্ক OR অ্যাডমিন


1

খুব পুরানো প্রশ্ন তবে কিছু অতিরিক্ত তথ্য সরবরাহ করা যা অন্য কাউকে সহায়তা করতে পারে। আমিও একই ত্রুটির মুখোমুখি হয়েছি এবং আমি 12.1.0.2 ওরাকল ডেটাবেস দিয়ে ojdbc14.jar ব্যবহার করছি। ওরাকল অফিসিয়াল ওয়েব পৃষ্ঠায় এই তথ্যটি তালিকাভুক্ত করা হয়েছে যা কোন সংস্করণটি কোন ডাটাবেস ড্রাইভারকে সমর্থন করে।এখানে লিঙ্কটি দেওয়া হয়েছে এবং এটি প্রদর্শিত হয় যে ওরাকল 12 সি এবং জাভা 7 বা 8 এর সাথে সঠিক সংস্করণটি ojdbc7.jar।

Ojdbc6.jar এ 11.2.0.4 এর জন্য।


0

আমার প্রাথমিক ত্রুটিটি হল: ORA-28040: কোনও মিল নেই প্রমাণীকরণ প্রোটোকল ব্যতিক্রম

আমার ডিবি সংস্করণটি 12.2 (সোলারিস) এবং ক্লায়েন্ট সংস্করণটি 11.2 (উইন্ডোজ)। আমি সার্ভার এবং ক্লায়েন্ট sqlnet.ora উভয়ই নীচে যুক্ত করেছি

SQLNET.ALLOWED_LOGON_VERSION_CLIENT = 8 এসকিউএলনেট।

সংযোগ করার সময়, আমি অবৈধ ব্যবহারকারীর নাম এবং পাসওয়ার্ড পেয়েছি তাই আমি আমার পাসওয়ার্ড (একই পাসওয়ার্ড) ডাটাবেজে পুনরায় তৈরি করেছি যা আমার সমস্যার সমাধান হয়েছে।


0

যদিও বেশিরভাগ ক্ষেত্রে ওজিডিবিসি ড্রাইভার জারের পরিবর্তে সমাধান হবে তবে আমার ক্ষেত্রে ছিল ভিন্ন was

আপনি যদি নিশ্চিত হন তবে আপনি সঠিক ওজডবিসি ড্রাইভার ব্যবহার করছেন। আপনি যে ডাটাবেসটিতে ভাবছেন তা আপনি আসলেই সংযোগ করছেন কিনা তা দুবার পরীক্ষা করে দেখুন। আমার ক্ষেত্রে জেডিবিসি কনফিগারেশন (টমক্যাট / কনফারেন্সে) বিভিন্ন ডাটাবেসের দিকে ইঙ্গিত করছিল যার বিভিন্ন ওরাকল সংস্করণ ছিল।


আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.