ORA-12505, TNS: श्रोता वर्तमान में कनेक्ट डिस्क्रिप्टर में दिए गए SID के बारे में नहीं जानते हैं


154

मैंने अपनी विंडोज 7 64 बिट ओएस में ओरेकल 11 जी एक्सप्रेस संस्करण रिलीज़ 2 स्थापित किया है और जेडीबीसी प्रोग्राम को निष्पादित करने की कोशिश की है, फिर मुझे निम्नलिखित त्रुटि मिली:

java.sql.SQLException: Listener refused the connection with the following error:
ORA-12505, TNS:listener does not currently know of SID given in connect descriptor
    at oracle.jdbc.driver.T4CConnection.logon(T4CConnection.java:412)
    at oracle.jdbc.driver.PhysicalConnection.<init>(PhysicalConnection.java:531)
    at oracle.jdbc.driver.T4CConnection.<init>(T4CConnection.java:221)
    at oracle.jdbc.driver.T4CDriverExtension.getConnection(T4CDriverExtension.java:32)
    at oracle.jdbc.driver.OracleDriver.connect(OracleDriver.java:503)
    at java.sql.DriverManager.getConnection(Unknown Source)
    at java.sql.DriverManager.getConnection(Unknown Source)
    at com.jlcindia.jdbc.JDBCUtil.geOracleConnection(JDBCUtil.java:28)
    at Lab3O.main(Lab3O.java:15)
Caused by: oracle.net.ns.NetException: Listener refused the connection with the following error:
ORA-12505, TNS:listener does not currently know of SID given in connect descriptor
    at oracle.net.ns.NSProtocol.connect(NSProtocol.java:385)
    at oracle.jdbc.driver.T4CConnection.connect(T4CConnection.java:1042)
    at oracle.jdbc.driver.T4CConnection.logon(T4CConnection.java:301)
    ... 8 more

1
OracleServiceXE को मैन्युअल रूप से शुरू करना मेरे लिए काम की गई सेवाओं से है।
सेन

जवाबों:


184

मैंने अपने jdbc स्ट्रिंग को सही करके इस मुद्दे को ठीक किया।

उदाहरण के लिए, सही jdbc string होनी चाहिए ...

jdbc:oracle:thin:@myserver:1521/XE

लेकिन jdbs स्ट्रिंग मैं उपयोग कर रहा था ...

jdbc:oracle:thin:@myserver:1521:XE

(नोट: बीच में होना चाहिए 1521और XEएक /)

यह खराब jdbc स्ट्रिंग मुझे ORA-12505 त्रुटि भी देती है।


53
यदि आप / a का उपयोग करते हैं, तो यह एक शुद्ध सेवा का नाम है, यदि आप किसी बृहदान्त्र का उपयोग करते हैं तो यह SID है।
जूल

89

कुछ चीजें हैं जो इस समस्या का कारण बन सकती हैं, लेकिन इससे पहले कि आप जेडीबीसी के साथ शुरू करें, आपको यह सुनिश्चित करने की आवश्यकता है कि आप SQL * प्लस का उपयोग करके डेटाबेस से जुड़ सकते हैं। यदि आप SQL * प्लस से परिचित नहीं हैं, तो यह Oracle डेटाबेस से जुड़ने के लिए एक कमांड-लाइन टूल है जो लंबे समय तक Oracle का एक मानक हिस्सा रहा है और यह Oracle XE के साथ शामिल है।

जब एक Oracle डेटाबेस से JDBC का उपयोग करके कनेक्ट किया जाता है, तो आप सीधे डेटाबेस से कनेक्ट नहीं होते हैं। इसके बजाय, आप एक TNS श्रोता से कनेक्ट होते हैं, जो तब आपको डेटाबेस से जोड़ता है। त्रुटि का ORA-12505अर्थ है कि श्रोता ऊपर था और आप उससे कनेक्ट कर सकते थे, लेकिन यह आपको डेटाबेस से नहीं जोड़ सकता था क्योंकि यह नहीं जानता कि वह डेटाबेस चालू है। इसके लिए दो कारण हैं:

  • डेटाबेस शुरू नहीं किया गया है,
  • डेटाबेस श्रोता के साथ पंजीकृत नहीं है, उदाहरण के लिए क्योंकि श्रोता से पहले डेटाबेस शुरू किया गया था। (जब डेटाबेस शुरू होता है, तो यह एक श्रोता के साथ खुद को पंजीकृत करता है यदि यह पहले से ही चल रहा है। यदि श्रोता नहीं चल रहा है, तो डेटाबेस खुद को पंजीकृत नहीं करता है, और यदि श्रोता शुरू होता है, तो यह उन डेटाबेसों की तलाश में नहीं जाता है जो हो सकता है। इसके साथ रजिस्टर करें।)

ORA-12505 का अर्थ है कि श्रोता उस डेटाबेस के बारे में जानता है, लेकिन श्रोता को डेटाबेस से सूचना नहीं मिली है कि डेटाबेस ऊपर है। (यदि आप गलत डेटाबेस से जुड़ने की कोशिश कर रहे थे, गलत SID का उपयोग करके, आपको एक ORA-12154 त्रुटि मिलेगी "TNS: कनेक्टेड पहचानकर्ता को निर्दिष्ट नहीं कर सका"।

सेवाएँ स्नैप-इन में ओरेकल सेवाएँ क्या चल रही हैं? (इसे कंट्रोल पैनल से खोलें> एडमिनिस्ट्रेटिव टूल्स> सर्विसेज, या सिर्फ स्टार्ट> रन> services.msc।) आपको OracleServiceXE और OracleXETNSListener सेवाओं को चलाने की आवश्यकता है।

यदि दोनों सेवाएं शुरू कर दी गई हैं, तो क्या आप कमांड प्रॉम्प्ट पर निम्न में से किसी का उपयोग करके SQL * प्लस में डेटाबेस से जुड़ सकते हैं? (मैं मान रहा हूँ कि आप इन्हें उस मशीन पर चला रहे हैं जिसे आपने Oracle XE स्थापित किया है।)

sqlplus प्रणाली / सिस्टम-पासवर्ड @XE
sqlplus प्रणाली / सिस्टम-पासवर्ड
sqlplus / sysdba के रूप में

( system-passwordOracle XE इंस्टॉलेशन के दौरान SYS और सिस्टम उपयोगकर्ताओं के लिए आपके द्वारा निर्धारित पासवर्ड से बदलें ।)

इन तीनों में से पहला TNS श्रोता के माध्यम से जुड़ता है, लेकिन दूसरा दो सीधे श्रोता के माध्यम से डेटाबेस से जुड़ता है, और केवल तभी काम करता है जब आप डेटाबेस के समान मशीन पर हों। यदि पहले एक विफल रहता है, लेकिन अन्य दो सफल होते हैं, तो जेडीबीसी कनेक्शन भी विफल हो जाएंगे। यदि ऐसा है, तो अन्य दो में से किसी एक का उपयोग करके डेटाबेस से कनेक्ट करें और चलाएं ALTER SYSTEM REGISTER। फिर SQL * प्लस से बाहर निकलें और पहले फॉर्म को फिर से आज़माएँ।

यदि तीसरा विफल हो जाता है, लेकिन दूसरा काम करता है, तो अपने उपयोगकर्ता खाते को ora_dba समूह में जोड़ें। इसे कंट्रोल पैनल> कंप्यूटर प्रबंधन> स्थानीय उपयोगकर्ताओं और समूहों में करें।

एक बार जब आप फॉर्म के कनेक्शन प्राप्त कर सकते हैं

sqlplus प्रणाली / सिस्टम-पासवर्ड @XE

काम करने के लिए, आपको JDBC के माध्यम से Oracle XE से जुड़ने में सक्षम होना चाहिए। (संयोग से, आपने हमें JDBC कोड नहीं दिखाया है जिसे आप डेटाबेस से कनेक्ट करने के लिए उपयोग कर रहे हैं, लेकिन मुझे संदेह होगा कि यह संभवतः बहुत सही है; कनेक्शन स्ट्रिंग के कुछ भाग गलत थे, तो अन्य कई त्रुटियाँ होंगी।)


3
@ राज: मैं नहीं देखता कि आपका संपादन क्या जवाब देता है, इसलिए मैंने इसे हटा दिया है। यदि आप किसी प्रश्न के लिए महत्वपूर्ण राशि का योगदान करना चाहते हैं, तो कृपया किसी और के संपादन के बजाय अपना स्वयं का उत्तर पोस्ट करें।
ल्यूक वुडवर्ड

@ ल्यूकवर्ड मुझे यह SP2-0734: unknown command beginning "system/ora..." - rest of line ignored. सब 3
vaibhavcool20

1
@qtpseleniumSupport: उस संदेश का कहना है कि आप SQL * प्लस में थे और आपने लाइन में प्रवेश किया system/ora...(या SQL * प्लस उस लाइन को उस फ़ाइल से पढ़ा जिसे आपने इसे पढ़ने के लिए कहा था)। मेरे द्वारा दी गई कमांड-लाइन का उपयोग कमांड-प्रॉम्प्ट / शेल / टर्मिनल विंडो से उपयोग किए जाने का इरादा है। आप पहले से ही एसक्यूएल * प्लस चला रहे हैं, की जगह sqlplusके साथ connect
ल्यूक वुडवर्ड

"डेटाबेस श्रोता के साथ पंजीकृत नहीं है, उदाहरण के लिए क्योंकि डेटाबेस को श्रोता से पहले शुरू किया गया था।" - यह वह था, धन्यवाद!
उर्सचे

47

मुझे भी वही त्रुटि मिली लेकिन जब तीनों की कोशिश विफल रही। यदि उपरोक्त तीनों विफल हो जाते हैं। यदि आपको सेवा मिलती है तो एलएसएनआरसीटीएल की स्थिति देखें (मेरे मामले में एक्सई) गायब है

sqlplus /nolog
conn  system
alter system register;  
exit  
lsnrctl status  

अब आप इस सेवा को देख सकते हैं,
भले ही इसे एक बार न देखें

sqlplus /nolog  
conn system  
alter system set local_listener = '(ADDRESS=(PROTOCOL=TCP)(HOST=localhost)(PORT=1521))' scope = both;  
alter system register;  
exit  
lsnrctl status

यह शायद काम करना चाहिए ...


2
तुमने किया, यार! सेट करने के बाद local_listener, ऑरल श्रोता को अब दिखाया जा रहा है lsnrctl। बहुत - बहुत धन्यवाद!
asgs

यह मेरे सिस्टम को काम कर रहा है, लेकिन ध्यान दें कि मैंने निम्नलिखित भाग लिया: ALTER SYSTEM ने स्थानीय-श्रोता = XE;
डैनियल विलियम्स

जब मैं टाइप करता हूं: 'सिस्टम सेट लोकल_लिस्टर =' (ADDRESS = (PROTOCOL = TCP) (HOST = localhost) (PORT = 1521) 'स्कोप = दोनों;' यह एक त्रुटि देता है: ORA-65040: operation not allowed from within a pluggable databaseइसका क्या मतलब है? JDBC को कॉन्फ़िगर नहीं कर सकते: /
Alg_D

1
शीर्ष मतदान के दोनों जवाबों ने मदद की, लेकिन इसने अधिक मदद की। ऐसा लगता है कि मेरे पास एक श्रोता पते के रूप में 127.0.0.1 नहीं था (मेरे पास मेरे पीसी के स्थानीय नाम के साथ एक था)। इसलिए इस नए को जोड़कर, इसने काम करना शुरू कर दिया
जॉन्ब

alter system set local_listener = ... मेरे लिए काम किया।
बेन असमुसेन

31

जब आपकी यह त्रुटि हो रही है "ORA-12505, TNS: श्रोता को वर्तमान में कनेक्टेड स्टोर में दिए गए SID का पता नहीं है"

समाधान: सेवाएं खोलें, और शुरू करें OracleServiceXE, उसके बाद कनेक्ट करने का प्रयास करें ...


मेरे पास एक ही मुद्दा था, लेकिन OracleServiceXE.Therefore चलाने के साथ, OracleServiceXE सेवा को पुनरारंभ करना मेरे लिए काम किया। पता नहीं क्यों?!
हमीद

जब OracleServiceXE की तलाश में रहते हैं, तो ध्यान रखें कि XE डेटा बेस SID से मेल खाता है इसलिए सुनिश्चित करें कि आप सही सेवा की तलाश कर रहे हैं, OracleService [SID]
Sandoval0992

10

मुझे इस अपवाद के कुछ कारण मिले। वे हैं

1) डेटाबेस XE का नाम default.so द्वारा url " jdbc: oracle: thin: @localhost: 1521: XE " होगा।

2) सुनिश्चित करें कि OracleServiceXE, OracleXETNSListener चल रहा है। यह नियंत्रण कक्ष \ All नियंत्रण कक्ष आइटम \ व्यवस्थापकीय उपकरण \ सेवाओं में होगा


8

मैंने अपने JDBC कोड को सही करके इस मुद्दे को हल किया।

सही JDBC स्ट्रिंग होना चाहिए ...

conection = DriverManager.getConnection
("jdbc:oracle:thin:@localhost:1521:xe","system","ishantyagi");

लेकिन JDBC स्ट्रिंग मैं उपयोग कर रहा था ...

conection = DriverManager.getConnection
("jdbc:oracle:thin:@localhost:1521:orcl","system","ishantyagi");

तो, xe के बजाय orcl को निर्दिष्ट करने की गलती ने इस त्रुटि को दिखाया क्योंकि SID नाम गलत था।


मेरे मामले में conection = DriverManager.getConnection ("jdbc:oracle:thin:@localhost:1521:orcl","system","ishantyagi");काम किया।
प्राण कुमार सरकार

8

नीचे दिए गए कोड का उपयोग करने पर मेरी समस्या हल हो गई है:

Class.forName("oracle.jdbc.driver.OracleDriver");
Connection conn=DriverManager.getConnection("jdbc:oracle:thin:@IPAddress:1521/servicename","userName","Password");

7

इसी तरह की त्रुटि का सामना करना पड़ा, उपरोक्त समाधानों में से कोई भी मदद नहीं की। List.ora फ़ाइल में एक समस्या थी। गलती से मैंने नीचे दिए गए दृश्य (तारों के बीच का भाग) को जोड़ SIDदिया था SID_LIST

 SID_LIST_LISTENER =
      (SID_LIST =

        (SID_DESC =
          (SID_NAME = PLSExtProc)
          (ORACLE_HOME = C:\oraclexe\app\oracle\product\11.2.0\server)
          (PROGRAM = extproc)
        )
        (SID_DESC =
          (SID_NAME = CLRExtProc)
          (ORACLE_HOME = C:\oraclexe\app\oracle\product\11.2.0\server)
          (PROGRAM = extproc)
        )
        )

 *(SID_DESC =
           (SID_NAME = XE)
           (ORACLE_HOME = C:\oraclexe\app\oracle\product\11.2.0\server)
         )*
    LISTENER =
      (DESCRIPTION_LIST =
        (DESCRIPTION =
          (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1))
          (ADDRESS = (PROTOCOL = TCP)(HOST = 127.0.0.1)(PORT = 1521))
        )
      )


    DEFAULT_SERVICE_LISTENER = (XE)

नीचे इस त्रुटि को ठीक किया गया:

SID_LIST_LISTENER =
  (SID_LIST =
    (SID_DESC =
       (SID_NAME = XE)
       (ORACLE_HOME = C:\oraclexe\app\oracle\product\11.2.0\server)
     )
    (SID_DESC =
      (SID_NAME = PLSExtProc)
      (ORACLE_HOME = C:\oraclexe\app\oracle\product\11.2.0\server)
      (PROGRAM = extproc)
    )
    (SID_DESC =
      (SID_NAME = CLRExtProc)
      (ORACLE_HOME = C:\oraclexe\app\oracle\product\11.2.0\server)
      (PROGRAM = extproc)
    )
    )
LISTENER =
  (DESCRIPTION_LIST =
    (DESCRIPTION =
      (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1))
      (ADDRESS = (PROTOCOL = TCP)(HOST = 127.0.0.1)(PORT = 1521))
    )
  )


DEFAULT_SERVICE_LISTENER = (XE)

रोक दिया और डेटाबेस यहाँ छवि विवरण दर्ज करें

श्रोताओं OracleServiceXE और OracleXETNSListener को मैन्युअल रूप से बंद कर दिया क्योंकि यह नियंत्रण कक्ष \ All नियंत्रण कक्ष आइटम \ व्यवस्थापकीय उपकरण \ Services पर जाकर स्वचालित रूप से बंद नहीं हुआ। डेटाबेस को फिर से शुरू किया और यह एक आकर्षण की तरह काम किया।


4

मैं शुरू में इसी समस्या के साथ यहाँ आया था। मैंने विंडोज 8 (64-बिट) पर ओरेकल 12 सी स्थापित किया था, लेकिन मैंने तब से इसे कमांड लाइन पर 'टीएनएसपीईंग एक्स' द्वारा हल किया है ... यदि कनेक्शन स्थापित नहीं हुआ है या नाम नहीं मिला है, तो डेटाबेस का नाम आज़माएं, मेरे मामले में यह 'orcl' था ... 'TNSPING orcl' फिर से और अगर यह सफलतापूर्वक पिंग करता है तो u को इस मामले में SID को 'orcl' में बदलने की आवश्यकता है (या जो भी डेटाबेस का नाम u इस्तेमाल किया गया है ...)


4

एक संभावना है कि मैंने व्यापक रूप से चर्चा नहीं देखी है कि मेजबान मशीन पर होस्टनाम को हल करने में समस्या हो सकती है। यदि / etc / host में $ (hostname) के लिए कोई प्रविष्टि नहीं है, तो Oracle श्रोता भ्रमित हो जाता है और अभ्यस्त हो जाता है।

यह मेरी समस्या है, और / etc / host में hostname और ip एड्रेस जोड़कर समस्या को हल किया।



4

यदि आपके पास Oracle SQL डेवलपर में एक कार्यशील कनेक्शन है, तो अपने url के निर्माण के लिए कनेक्शन मेनू पर जानकारी का उपयोग करें, जैसा कि निम्नलिखित छवि में वर्णित है:

यहाँ छवि विवरण दर्ज करें

उपरोक्त उदाहरण में, यूआरएल होगा: jdbc:oracle:thin:@ORADEV.myserver.com:1521/myservice

ध्यान दें कि यदि आपका SID उपयोग कर रहा है, तो होस्ट नाम के बाद स्लैश ("/") के बजाय एक कोलन (":") है।


2

मैंने भी उसी मुद्दे का सामना किया। मैंने वीएमवेयर का उपयोग करके विंडोज एक्सपी ओएस में ओरेकल एक्सप्रेस संस्करण 10 जी स्थापित किया था और यह ठीक काम कर रहा था। चूंकि यह 10 जी द्वारा प्रदान की गई एसक्यूएल उपयोगिता में एसक्यूएल प्रश्नों को बहुत अजीब टाइपिंग था और चूंकि मुझे एसक्यूएल डेवलपर के साथ काम करने की आदत थी, इसलिए मैंने एक्सपी में 32 बिट एसक्यूएल डेवलपर स्थापित किया और अपने डीबी सिड "एक्सई" से कनेक्ट करने का प्रयास किया। लेकिन त्रुटि-ORA-12505 TNS श्रोता के साथ कनेक्शन विफल हो गया, वर्तमान में कनेक्ट डिस्क्रिप्टर में दिए गए SID का पता नहीं है। मैं समुद्र में था कि यह समस्या कैसे हुई क्योंकि यह SQL उपयोगिता के साथ ठीक काम कर रहा था और मैंने उसी का उपयोग करके कुछ Informatica मैपिंग भी बनाए थे। मैंने इस सामान पर बहुत कुछ ब्राउज़ किया था और सार्वजनिक मंचों पर "lsnrctl" की स्थिति पिंग करने के बाद मुझे दिए गए सुझावों को लागू किया लेकिन कोई फायदा नहीं हुआ। हालाँकि, आज सुबह मैंने फिर से एक नया कनेक्शन बनाने की कोशिश की, और वोइला, इसने बिना किसी मुद्दे के साथ काम किया। मैं कुछ पोस्टों में पढ़ने के बाद अनुमान लगा रहा हूं कि कभी-कभी श्रोता डीबी कनेक्ट होने से पहले सुनता है या कुछ और (मेरे कच्चे संदर्भ के लिए मुझे क्षमा करें क्योंकि मैं यहां नौसिखिया हूं) लेकिन मैं सिर्फ मशीन को फिर से शुरू करने और फिर से जांच करने का सुझाव देता हूं।


2

इस समस्या को हल करने के लिए मेरे पास एक ही समस्या थी, मैंने पहले अपने श्रोता को फिर से कॉन्फ़िगर किया, netcaउसके बाद मैंने अपने पुराने डेटाबेस को हटा दिया जिसका उपयोग करके ओआरसीएल को हटा दिया गया था dbcaऔर फिर मैंने फिर से उपयोग करके नया डेटाबेस बनायाdbca


2

मैंने उसी समस्या का सामना किया है और OracleServiceXE सेवा को पुनरारंभ करके हल किया है। Goto Services.msc और फिर 'OracleServiceXE' सेवा को सत्यापित करें और चल रहा है


2

मैंने अपनी TNSNAMES.ora फ़ाइल में " SID " को " SERVICE_NAME " में बदलकर इस समस्या को ठीक किया ।

कृपया देखें कि क्या आपका DB SID या SERVICE_NAME के ​​लिए पूछता है।

चियर्स


2

यदि आप ओरेकल एक्सप्रेस संस्करण का उपयोग करते हैं, तो आपके पास यह यूआरएल होना चाहिए

jdbc: oracle: thin: @localhost: 1521: xe या jdbc: oracle: thin: @localhost: 1521 / XE

मुझे pom.xml में liquibase config प्लगइन की समस्या थी। और मैंने अपना कॉन्फ़िगरेशन बदल दिया:

`<configuration>
   <driver>oracle.jdbc.OracleDriver</driver>
   <url>jdbc:oracle:thin:@localhost:1521:xe</url>
   <defaultSchemaName></defaultSchemaName>
   <username>****</username>
   <password>****</password>
</configuration>`

2

कनेक्शन con = DriverManager.getConnection ("jdbc: oracle: thin: @localhost: 1521: xe", "scott", "tiger");

त्रुटि मुझे मिली:

java.sql.SQLException: श्रोता ने निम्नलिखित त्रुटि के साथ कनेक्शन से इनकार कर दिया: ORA-12505, TNS: श्रोता को वर्तमान में कनेक्ट डिस्क्रिप्टर में दिए गए SID का पता नहीं है। क्लाइंट द्वारा उपयोग किए गए कनेक्शन डिस्क्रिप्टर: लोकलहोस्ट: 1521: xe

मैंने इसे कैसे हल किया:

कनेक्शन con = DriverManager.getConnection ("jdbc: oracle: thin: localhost: 1521: xe", "scott", "tiger");

(हटाना @)

पता नहीं क्यों, लेकिन अब इसके काम ...


1

होस्ट मशीन में tnsping और उदाहरण का नाम करके जाँच करें। यह u tns डिक्रीप्शन देगा और अधिकांश समय होस्ट का नाम अलग है जो मेल नहीं खा रहा है।

मैं इसी तरह अपने मुद्दे को हल करता हूं

यूनिक्स मशीन में $ tnsping (दर्ज करें)

यह मुझे पूर्ण tns विवरण देता है जहाँ मैंने पाया कि होस्ट नाम अलग है .. :)


1

दोनों की जांच करें OracleServiceXEऔर OracleXETNSListenerस्थिति शुरू कर दिया हो रही है जब आप के माध्यम से नेविगेट start->run->services.msc

मेरे मामले के लिए केवल OracleXETNSListenerशुरू किया OracleServiceXEगया था, लेकिन शुरू नहीं किया गया था, जब मैंने शुरू किया था right clicking -> startऔर मेरे लिए इसके काम के कनेक्शन की जांच की थी


1

मुझे SQL कार्यक्षेत्र में ऐसी ही समस्या थी।

यूआरएल:

jdbc: oracle: thin: @ 111.111.111.111: 1111: xe

काम नहीं करता है।

यूआरएल:

jdbc: oracle: thin: @ 111.111.111.111: 1111: asdb

काम करता है।

यह मेरी ठोस स्थिति में मेरी मदद करता है। मुझे डर है, कि विभिन्न समाधानों के साथ कई अन्य कारण मौजूद हो सकते हैं।


0

एक समान मुद्दा था। समस्या अचानक होने लगी - हम संतुलित डेटाबेस कनेक्शन URL लोड कर रहे हैं, लेकिन jdbc कनेक्शन में मैं सीधे एक सिंगल bb की ओर इशारा कर रहा था।

संतुलित db url को लोड करने के लिए बदला गया और यह काम कर गया।


2
हम पूरी तरह से योग्य कनेक्शन स्ट्रिंग URL का उपयोग करने की सलाह देते हैं जैसा कि jdbc: oracle: thin: @ (DESDRIPTION = (ADDRESS = (HOST = myhost) (PORT = 1521) (PROTOCOL = tcp)) (CONNECT_DATA = (SERVICE_NAME = myorcldbservicename))
निर्मला

0

मेरे मामले में काम नहीं कर रहा था, आखिरकार मैंने अपने ओरेकल और टीएनएस श्रोता को फिर से शुरू किया और सब कुछ काम किया। 2 दिनों से संघर्ष कर रहा था।


0

मुझे यह त्रुटि ORA-12505, TNS मिली : श्रोता को वर्तमान में कनेक्ट डिस्क्रिप्टर में दिए गए SID के बारे में नहीं पता है जब मैंने SQL डेवलपर का उपयोग करके oracle DB से कनेक्ट करने का प्रयास किया था।

JDBC स्ट्रिंग का उपयोग किया गया था jdbc: oracle: thin: @myserver: 1521 / XE , स्पष्ट रूप से सही एक और दो अनिवार्य ओरेकल सेवा OracleServiceXE, OracleXETNSListener अप और रनिंग थे

जिस तरह से मैंने इस मुद्दे को हल किया (विंडोज 10 में)

 1. Open run command.
 2. Type services.msc 
 3. Find services with name OracleServiceXE and OracleXETNSListener in the list.
 4. Restart OracleServiceXE service first. After completing the restart try restarting OracleXETNSListener service.

0

चालू सेवाओं (OracleServiceXE, OracleXETNSListener) के अलावा एक मौका है कि आपका एंटी-वायरस सॉफ़्टवेयर / फ़ायरवॉल अभी भी उन्हें ब्लॉक कर सकता है। बस सुनिश्चित करें कि वे अवरुद्ध नहीं हैं।यहाँ छवि विवरण दर्ज करें



0

मेरे दैवज्ञ ने काम करना बंद कर दिया और मुझे यह त्रुटि मिल रही थी। मैंने अपनी मशीन को फिर से शुरू किया और ऊपर के समाधानों की भी कोशिश की। अंततः, मैंने घटक सेवाएँ खोलीं और ओरेकल सेवाओं को फिर से शुरू किया और यह सब काम करने लगा। आशा है कि यह किसी की मदद करता है।


0

मैं सिर्फ गलत तरीके से डेटाबेस लिंक बना रहा था।

मेरे लिए सिंपल फिक्स था, केवल 'SID' को SERVICE_NAME में बदलना

CREATE DATABASE LINK my_db_link
CONNECT TO myUser IDENTIFIED BY myPassword
USING
'
(
    DESCRIPTION=
    (
        ADDRESS=
        (PROTOCOL=TCP)
        (HOST=host-name-heren)
        (PORT=1521)
    )
    (CONNECT_DATA=(SID=theNameOfTheDatabase))
)';

बदलना

SID=theNameOfTheDatabase

सेवा

SERVICE_NAME=theNameOfTheDatabase 

मेरी समस्या हल कर दी।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.