Oracle के अनुसार इन स्थानों को tnsnames.ora के लिए खोजा जाता है , सम्मान sqlnet.ora और ldap.ora :
- वर्तमान कार्यशील निर्देशिका में Oracle नेट फ़ाइलें (PWD/CWD)
TNS_ADMINसत्रीय रूप से या उपयोगकर्ता द्वारा परिभाषित स्क्रिप्ट द्वारा परिभाषितTNS_ADMINवैश्विक पर्यावरण चर के रूप में परिभाषित किया गया हैTNS_ADMINरजिस्ट्री में परिभाषित- Oracle Net फ़ाइलें
%ORACLE_HOME/network|net80\adminमें (ओरेकल डिफ़ॉल्ट स्थान)
हालांकि, मुझे यकीन नहीं है कि प्रत्येक एप्लिकेशन/ड्राइवर इस सूची का पालन करता है या नहीं। मुझे यह सूची Oracle Document 111942.1 से Oracle 9i के संदर्भ में मिली है, इसलिए यह पुरानी हो सकती है।
डेटाबेस नेट सर्विसेज एडमिनिस्ट्रेटर गाइड में ऑर्डर है
TNS_ADMINपर्यावरण चर द्वारा परिभाषितTNS_ADMINरजिस्ट्री में परिभाषित (यदिTNS_ADMINपर्यावरण चर मौजूद नहीं है)%ORACLE_HOME%/network/adminनिर्देशिका (यदिTNS_ADMINपर्यावरण चर मौजूद नहीं है)
मैं TNS_ADMIN . के लिए एक पर्यावरण चर परिभाषित करने की अनुशंसा करता हूं और केवल एक tnsnames.ora फ़ाइल का उपयोग करें। सुरक्षित पक्ष पर रहने के लिए, अपने रजिस्ट्री मूल्यों की भी जाँच करें।
अगर आपकी फ़ाइलें नहीं हैं %ORACLE_HOME%\network\admin . में स्थित है , मैं इसके लिए एक प्रतीकात्मक लिंक बनाने की सलाह देता हूं - बस बहुत . पर रहने के लिए सुरक्षित पक्ष, उदा। mklink /d %ORACLE_HOME%\network\admin c:\Oracle\common\settings\admin
एक और नोट, आपको अपनी tnsnames.ora फ़ाइल के साथ "प्ले" करने की आवश्यकता नहीं है। Microsoft Sysinternals के प्रोसेस मॉनिटर से आप प्रत्येक फ़ाइल एक्सेस की निगरानी कर सकते हैं, यानी फ़िल्टर Path contains tnsnames होगा
अपडेट करें
जब मैं अपनी मशीन पर एक परीक्षण चलाता हूं तो मुझे निम्नलिखित आदेश मिलते हैं:
- पर्यावरण चर
TNS_ADMIN - रजिस्ट्री कुंजी
HKEY_CURRENT_USER\SOFTWARE\ORACLE\KEY_{Oracle_Home_Name}\TNS_ADMIN -
रजिस्ट्री कुंजी
HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE\KEY_{Oracle_Home_Name}\TNS_ADMIN, सम्मानHKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\ORACLE\KEY_{Oracle_Home_Name}\TNS_ADMIN-> केवल अगर
TNS_ADMINपर्यावरण चर सेट नहीं है। %ORACLE_HOME%\network\admin- वर्तमान निर्देशिका (जो उस निर्देशिका से भिन्न हो सकती है जहां आपका आवेदन स्थित है)
- फ़ोल्डर जहां आपका आवेदन स्थित है
अपडेट 2
जाहिर है कि कोई फिक्स सर्च नहीं है, यह विभिन्न प्रदाताओं/ड्राइवरों के लिए भिन्न होता है। शायद यह Oracle संस्करण पर भी निर्भर करता है।
उदाहरण के लिए, Oracle HTTP सर्वर पढ़ता है TNS_ADMIN opmn.xml . से सेटिंग कॉन्फ़िग फ़ाइल.
एक अन्य उदाहरण, ODP.NET प्रबंधित ड्राइवर (Oracle.ManagedDataAccess) बीटा के लिए संस्करण, मुझे यह आदेश Oracle प्रबंधित और TNS नाम पर मिला:
- डेटा स्रोत उपनाम
<oracle.manageddataaccess.client>के अंतर्गत 'डेटा स्रोत' अनुभाग में .NET कॉन्फ़िग फ़ाइल में अनुभाग (अर्थातmachine.config,web.config,user.config)। - डेटा स्रोत उपनाम
tnsnames.ora. मेंTNS_ADMINद्वारा निर्दिष्ट स्थान पर फ़ाइल करें .NET कॉन्फ़िग फ़ाइल में। - डेटा स्रोत उपनाम
tnsnames.ora. में फ़ाइल उसी निर्देशिका में मौजूद है जैसे.exe। - डेटा स्रोत उपनाम
tnsnames.ora. में फ़ाइल%TNS_ADMIN%. पर मौजूद है
(जहां%TNS_ADMIN%एक पर्यावरण चर सेटिंग है)। - डेटा स्रोत उपनाम
tnsnames.ora. में फ़ाइल%ORACLE_HOME%\network\admin. पर मौजूद है
(जहां%ORACLE_HOME%एक पर्यावरण चर सेटिंग है)।
आधिकारिक दस्तावेज़ीकरण (12c रिलीज़ 4 (12.1.0.2.4)) में यह कहा गया है:
- डेटा स्रोत उपनाम
dataSourcesमें<oracle.manageddataaccess.client>. के अंतर्गत अनुभाग .NET कॉन्फ़िग फ़ाइल में अनुभाग (अर्थातmachine.config,web.config,user.config)। - डेटा स्रोत उपनाम
tnsnames.ora. मेंTNS_ADMINद्वारा निर्दिष्ट स्थान पर फ़ाइल करें .NET कॉन्फ़िग फ़ाइल में। स्थानों में पूर्ण या सापेक्ष निर्देशिका पथ शामिल हो सकते हैं। - डेटा स्रोत उपनाम
tnsnames.ora. में फ़ाइल उसी निर्देशिका में मौजूद है जैसे.exe।
हालाँकि, मैंने ODP.NET प्रबंधित ड्राइवर (4.121.2.0) के साथ किए गए कुछ परीक्षणों के आधार पर यह %ORACLE_HOME%\network\admin लेता है और TNS_ADMIN खाते में पर्यावरण चर। दस्तावेज़ीकरण जैसे ताले 100% सही नहीं हैं।