मुझे लगता है कि आप अपनी उपलब्ध डेटाबेस सेवाओं को निर्दिष्ट करने के लिए tnsnames.ora फ़ाइल का उपयोग कर रहे हैं। यदि ऐसा है तो कनेक्शन त्रुटियाँ आमतौर पर दो बातों पर निर्भर करती हैं।
-
एप्लिकेशन को आपके द्वारा कनेक्शन स्ट्रिंग में निर्दिष्ट TNS प्रविष्टि नहीं मिल रही है।
-
TNS प्रविष्टि मिली, लेकिन tnsnames.ora फ़ाइल में IP या होस्ट सही नहीं है।
नंबर 1 पर विस्तार करने के लिए (जो मुझे लगता है कि आपकी समस्या है)। जब आप Oracle को कुछ इस तरह से कनेक्ट करने के लिए कहते हैं:
sqlplus user/[email protected]
सेवा को tnsnames.ora फ़ाइल में परिभाषित किया गया है। अगर मैं किसी ऐसी सेवा से जुड़ने का प्रयास करता हूं जो मेरे tnsnames.ora में परिभाषित नहीं है, तो मुझे वह त्रुटि मिलती है जो आपको मिलती है:
[[email protected] ~]$ sqlplus sodonnel/[email protected]
SQL*Plus: Release 11.2.0.1.0 Production on Mon Oct 31 21:42:15 2011
Copyright (c) 1982, 2009, Oracle. All rights reserved.
ERROR:
ORA-12154: TNS:could not resolve the connect identifier specified
तो आपको कुछ चीजों की जांच करनी होगी:
- क्या कोई tnsnames.ora फ़ाइल है - मुझे लगता है हाँ क्योंकि आपका कंसोल कनेक्ट हो सकता है
- क्या सेवा के लिए फ़ाइल में कोई प्रविष्टि है - कंसोल कनेक्ट होने पर मुझे भी लगता है कि हाँ है
- क्या एप्लिकेशन tnsnames.ora को ढूंढ सकता है?
आपकी समस्या नंबर 3 हो सकती है - क्या एप्लिकेशन कंसोल चलाने के समय से भिन्न उपयोगकर्ता के रूप में चलता है?
Oracle TNS_ADMIN पर्यावरण चर में परिभाषित निर्देशिका में tnsnames.ora फ़ाइल की तलाश करता है - यदि आप अलग-अलग उपयोगकर्ताओं के रूप में चल रहे हैं, तो शायद TNS_ADMIN पर्यावरण चर सेट नहीं है, और इसलिए यह फ़ाइल नहीं ढूंढ सकता है?