आंशिक रूप से ओरेकल क्लाइंट की पूर्ण स्थापना के साथ परस्पर विरोधी संस्करणों या बिटनेस के साथ समस्याएं होने के परिणामस्वरूप, मेरी विकास टीम (जिसमें मैं एक सदस्य हूं) ओरेकल इंस्टेंट क्लाइंट का उपयोग करने की ओर बढ़ रहा है और अधिकांश के लिए हमारे विकास मशीनों पर स्थापना से बच रहा है नई परियोजनाएं। यह बहुत अच्छी तरह से काम किया है, यहां तक कि हम इस सेटअप के साथ उत्पादन के लिए तैनात हैं। चूंकि हम ज्यादातर एक .NET शॉप हैं, इसलिए हम जावा एक के बजाय मूल क्लाइंट (.NET रैपर के साथ) का उपयोग कर रहे हैं।
अब एक क्लाइंट को यह आवश्यक है कि हम डेटाबेस सेवा को LDAP सर्वर के साथ पंजीकृत करें और नाम देखो के लिए LDAP सर्वर का उपयोग करें। उन्होंने प्रदान की है sqlnet.ora
और ldap.ora
फ़ाइलें (और एक एन्क्रिप्शन एन्क्रिप्शन फ़ाइल) सही प्रतीत होती हैं। विशेष रूप से, sqlnet.ora
फ़ाइल शुद्ध सेवा नामों को देखने के लिए एक संभावित स्रोत के रूप में LDAP निर्दिष्ट करती है:
names.directory_path=(tnsnames,ldap)
मुझे विश्वास है कि मैं जिस मशीन के साथ काम कर रहा हूं, वह एलडीएपी सेवा का उपयोग करने के लिए उपयोग कर सकता है क्योंकि मैं एसक्यूएल डेवलपर (जो मुझे सीधे एलडीएपी जानकारी इनपुट करने की अनुमति देता है) का उपयोग करने में सक्षम था। यह मानते हुए कि वे सही हैं, मैं इस कॉन्फ़िगरेशन को पहचानने और नाम देखने के लिए LDAP का उपयोग करने के लिए त्वरित क्लाइंट कैसे प्राप्त कर सकता हूं?
मैंने अब तक क्या कोशिश की है
मैंने TNS_ADMIN
पर्यावरण चर को उस निर्देशिका में स्थापित करने की कोशिश की है जिसमें प्रदान की गई फाइलें शामिल हैं, और जब यह त्वरित क्लाइंट को एक tnsnames.ora
फ़ाइल को पहचानने के लिए ठीक काम करता है , तो यह एलडीएपी को देखने के लिए इसे प्राप्त करने के लिए पर्याप्त नहीं लगता है। यहाँ परिणाम हैं (पथ, उपयोगकर्ता नाम और पासवर्ड परिवर्तित):
(निम्न कमांड विंडोज कमांड प्रॉम्प्ट होने के लिए होता है, लेकिन मुझे लगता है कि लिनक्स पर ऐसा ही कुछ उल्लेखनीय sqlplus
है । यहां देखा गया इंस्टेंट संस्करण भी है, साथ ही उसी निर्देशिका में इंस्टेंट क्लाइंट बायनेरिज़ के साथ।
C:\TEMP>SET TNS_ADMIN=C:\path\to\sqlnet\ldap\and\tnsnames\ora\files
C:\TEMP>echo %TNS_ADMIN%
C:\path\to\sqlnet\ldap\and\tnsnames\ora\files
C:\TEMP>sqlplus.exe USERNAME/PASSWORD@LOCALTNSNAME
SQL*Plus: Release 11.2.0.2.0 Production on Mon Jul 7 10:22:25 2014
Copyright (c) 1982, 2010, Oracle. All rights reserved.
Connected to:
Oracle Database 11g Enterprise Edition Release 11.2.0.3.0 - 64bit Production
With the Partitioning, Automatic Storage Management, OLAP, Data Mining
and Real Application Testing options
SQL> exit
Disconnected from Oracle Database 11g Enterprise Edition Release 11.2.0.3.0 - 64bit Produ
With the Partitioning, Automatic Storage Management, OLAP, Data Mining
and Real Application Testing options
C:\TEMP>sqlplus.exe USERNAME/PASSWORD@LDAPTNSNAME
SQL*Plus: Release 11.2.0.2.0 Production on Mon Jul 7 10:24:21 2014
Copyright (c) 1982, 2010, Oracle. All rights reserved.
ERROR:
ORA-12154: TNS:could not resolve the connect identifier specified
पक्षीय लेख
क्या टीएनएस, एलडीएपी, या इंस्टेंट क्लाइंट (या सिर्फ सामान्य ओरेकल क्लाइंट) के लिए टैग हैं जिन्हें इस प्रश्न में जोड़ा जा सकता है? मैं किसी का पता नहीं लगा सका।
where
( C:\TEMP\sqlplus.exe
)। अधिक विशिष्ट होने के लिए, sqlplus
मशीन पर "स्थापित" नहीं है। यह बस वर्तमान निर्देशिका में बैठा है, इसके बगल में क्लाइंट बायनेरिज़ के साथ। यह निश्चित रूप tnsnames.ora
से TNS_ADMIN
पर्यावरण चर का उपयोग करके फ़ाइल पर उठा रहा है , क्योंकि यह पूरी तरह से अलग निर्देशिका में बंद है।
where oci.dll
। यह अपेक्षित परिणाम भी देता है C:\TEMP\oci.dll
:।