2012-06-29 12 views
5

मैं बिल्ला के server.xml में Oracle डाटाबेस विन्यास हैसही उपयोगकर्ता नाम और पासवर्ड दे रहा है, ओआरए -01017 प्राप्त करें: अवैध उपयोगकर्ता नाम/पासवर्ड; लॉगऑन से इनकार किया

<Resource name="jdbc/sgfdb" auth="Container" 
      driverClassName="oracle.jdbc.OracleDriver" 
      url="jdbc:oracle:thin:@databaseurl:1521:schema" 
      username="username" password="password" maxActive="20" maxIdle="10" 
      maxWait="-1" 
      factory="oracle.jdbc.pool.OracleDataSourceFactory" 
      type="oracle.jdbc.pool.OracleDataSource"/> 
तब मेरे वेब अनुप्रयोग (वसंत MVC परियोजना) में

, मैं context.xml में इस declear

<Context> 
<ResourceLink name="jdbc/sgfdb" 
     global="jdbc/sgfdb" 
     type="javax.sql.DataSource"/> 
</Context> 

मैं करने में सक्षम था पहले इस डेटाबेस से कनेक्ट करें। मैंने एक सप्ताह तक इस पर काम नहीं किया। फिर जब मैं इसे शुरू करने का प्रयास करता हूं, तो हमेशा प्राप्त करें:

SEVERE: Servlet.service() for servlet [action] in context with path [/WebUI] threw exception [Request processing failed; nested exception is javax.persistence.QueryTimeoutException: Could not open connection] with root cause 
**java.sql.SQLException: ORA-01017: invalid username/password; logon denied** 

at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:440) 
at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:389) 
at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:382) 
at oracle.jdbc.driver.T4CTTIfun.processError(T4CTTIfun.java:573) 
at oracle.jdbc.driver.T4CTTIoauthenticate.processError(T4CTTIoauthenticate.java:431) 
at oracle.jdbc.driver.T4CTTIfun.receive(T4CTTIfun.java:445) 
at oracle.jdbc.driver.T4CTTIfun.doRPC(T4CTTIfun.java:191) 
at oracle.jdbc.driver.T4CTTIoauthenticate.doOAUTH(T4CTTIoauthenticate.java:366) 
at oracle.jdbc.driver.T4CTTIoauthenticate.doOAUTH(T4CTTIoauthenticate.java:752) 
at oracle.jdbc.driver.T4CConnection.logon(T4CConnection.java:366) 
at oracle.jdbc.driver.PhysicalConnection.<init>(PhysicalConnection.java:536) 
at oracle.jdbc.driver.T4CConnection.<init>(T4CConnection.java:228) 
at oracle.jdbc.driver.T4CDriverExtension.getConnection(T4CDriverExtension.java:32) 
at oracle.jdbc.driver.OracleDriver.connect(OracleDriver.java:521) 
at oracle.jdbc.pool.OracleDataSource.getPhysicalConnection(OracleDataSource.java:280) 
at oracle.jdbc.pool.OracleDataSource.getConnection(OracleDataSource.java:207) 
at oracle.jdbc.pool.OracleDataSource.getConnection(OracleDataSource.java:157) 
at org.hibernate.ejb.connection.InjectedDataSourceConnectionProvider.getConnection(InjectedDataSourceConnectionProvider.java:70) 
at org.hibernate.internal.AbstractSessionImpl$NonContextualJdbcConnectionAccess.obtainConnection(AbstractSessionImpl.java:278) 
at org.hibernate.engine.jdbc.internal.LogicalConnectionImpl.obtainConnection(LogicalConnectionImpl.java:297) 
at org.hibernate.engine.jdbc.internal.LogicalConnectionImpl.getConnection(LogicalConnectionImpl.java:169) 
at org.hibernate.engine.jdbc.internal.proxy.ConnectionProxyHandler.extractPhysicalConnection(ConnectionProxyHandler.java:82) 
at org.hibernate.engine.jdbc.internal.proxy.ConnectionProxyHandler.continueInvocation(ConnectionProxyHandler.java:138) 
at org.hibernate.engine.jdbc.internal.proxy.AbstractProxyHandler.invoke(AbstractProxyHandler.java:81) 
at $Proxy36.prepareStatement(Unknown Source) 
at org.hibernate.engine.jdbc.internal.StatementPreparerImpl$5.doPrepare(StatementPreparerImpl.java:147) 
at org.hibernate.engine.jdbc.internal.StatementPreparerImpl$StatementPreparationTemplate.prepareStatement(StatementPreparerImpl.java:166) 
at org.hibernate.engine.jdbc.internal.StatementPreparerImpl.prepareQueryStatement(StatementPreparerImpl.java:145) 
at org.hibernate.loader.Loader.prepareQueryStatement(Loader.java:1720) 
at org.hibernate.loader.Loader.doQuery(Loader.java:828) 
at org.hibernate.loader.Loader.doQueryAndInitializeNonLazyCollections(Loader.java:289) 
at org.hibernate.loader.Loader.doList(Loader.java:2447) 
at org.hibernate.loader.Loader.doList(Loader.java:2433) 
at org.hibernate.loader.Loader.listIgnoreQueryCache(Loader.java:2263) 
at org.hibernate.loader.Loader.list(Loader.java:2258) 
at org.hibernate.loader.hql.QueryLoader.list(QueryLoader.java:470) 
at org.hibernate.hql.internal.ast.QueryTranslatorImpl.list(QueryTranslatorImpl.java:355) 
at org.hibernate.engine.query.spi.HQLQueryPlan.performList(HQLQueryPlan.java:195) 
at org.hibernate.internal.SessionImpl.list(SessionImpl.java:1215) 
at org.hibernate.internal.QueryImpl.list(QueryImpl.java:101) 
at org.hibernate.ejb.QueryImpl.getSingleResult(QueryImpl.java:284) 
at org.hibernate.ejb.criteria.CriteriaQueryCompiler$3.getSingleResult(CriteriaQueryCompiler.java:258) 
at mycompany.services.impl.JobServiceImpl.getNumberOfJobs(JobServiceImpl.java:51) 
at mycompany.controller.ExecJobController.execJobList(ExecJobController.java:78) 
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) 
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) 
at java.lang.reflect.Method.invoke(Method.java:597) 
at org.springframework.web.method.support.InvocableHandlerMethod.invoke(InvocableHandlerMethod.java:213) 
at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:126) 
at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:96) 
at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:617) 
at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:578) 
at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:80) 
at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:923) 
at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:852) 
at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:882) 
at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:789) 
at javax.servlet.http.HttpServlet.service(HttpServlet.java:641) 
at javax.servlet.http.HttpServlet.service(HttpServlet.java:722) 
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305) 
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210) 
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:225) 
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:169) 
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:472) 
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:168) 
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:98) 
at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:927) 
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118) 
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:407) 
at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:999) 
at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:565) 
at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:307) 
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886) 
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908) 
at java.lang.Thread.run(Thread.java:662) 

मुझे यकीन है कि उपयोगकर्ता नाम और पासवर्ड सही हैं। क्या कोई मुझे यहां क्या हो रहा है इसके बारे में कुछ संकेत दे सकता है?

+0

आप क्यों मानते हैं कि पासवर्ड सही है? अगर कोड अतीत में काम करता है और कोड बदल नहीं गया है, तो तार्किक अनुमान यह है कि पासवर्ड बदलना चाहिए।शायद पासवर्ड नहीं बदला लेकिन डीबीए सक्षम केस-संवेदनशील पासवर्ड ताकि आपके द्वारा संग्रहीत पासवर्ड गलत हो गया हो। –

+0

मैं अब भी इस डेटाबेस का उपयोग कर रहा हूँ। मैं इस मशीन का उपयोग उसी मशीन पर एसक्यूएल डेवलपर से कनेक्ट करने के लिए कर सकता हूं! धन्यवाद –

+0

एसक्यूएल डेवलपर में कनेक्शन कैसे कॉन्फ़िगर किया गया है? क्या आप मूल कनेक्शन का उपयोग कर रहे हैं? एक टीएनएस कनेक्शन? कुछ और? जब आपने जेडीबीसी यूआरएल पोस्ट किया है तो आपका एप्लीकेशन उपयोग कर रहा है, क्या आपने अनजाने में 'स्कीमा' टाइप किया था, जहां आपका मतलब था 'सेवा का नाम' - 'jdbc: oracle: पतला: @ डाटाबेसुर: 1521: स्कीमा 'होना चाहिए jdbc: oracle: पतला: @databaseurl: 1521: सेवा का नाम'। आपको जो त्रुटि मिल रही है वह इंगित करता है कि उपयोगकर्ता नाम और पासवर्ड गलत हैं। या तो पासवर्ड गलत है, उपयोगकर्ता नाम गलत है, या आप गलत डेटाबेस से कनेक्ट करने का प्रयास कर रहे हैं। –

उत्तर

2

हल। समस्या यह है कि मुझे

factory="oracle.jdbc.pool.OracleDataSourceFactory" 

इसे हटाने के बाद, यह अच्छा काम नहीं करना चाहिए!

+1

यह कहां है ??, मैं इसे किस फ़ाइल में ढूंढ सकता हूं? – rainman

+0

@rainman इस पृष्ठ को खोजें –

1

यह संभव है उपयोगकर्ता आप लॉग ऑन करने के लिए कोशिश कर रहे हैं की तिथि निकल चुकी पासवर्ड

+0

मुझे सच में यकीन है कि यह एक कामकाजी पासवर्ड है। इस वेब प्रोजेक्ट के अलावा, मैं अभी भी कुछ अन्य परियोजनाओं में इसका उपयोग कर रहा हूं। धन्यवाद!!! –

1
  • उपयोगकर्ता नाम गलत हो सकता है है।
  • पासवर्ड गलत हो सकता है।
  • जो सर्वर/इंस्टेंस आप कनेक्ट कर रहे हैं वह गलत हो सकता है, या आपकी मशीन और सर्वर के बीच, या एप्लिकेशन और एसक्यूएल डेवलपर के बीच अलग हो सकता है।
  • डेटाबेस संवेदनशील पासवर्ड का उपयोग करने के लिए कॉन्फ़िगर किया जा सकता है।
  • पासवर्ड जब आवेदन कनेक्शन स्ट्रिंग बनाता है छोटा कर दिया पाने के लिए कनेक्शन स्ट्रिंग के कारण अर्धविराम ; चरित्र शामिल हो सकता है, लेकिन आप SQL डेवलपर से इसका इस्तेमाल करने की इजाजत दी (?)
  • आपसे कोई टाइपिंग त्रुटि कहीं हो सकता था (?)
+1

मैं 180% सुनिश्चित करता हूं कि उपयोगकर्ता नाम सही है, पासवर्ड चालू है, यूआरएल सही है (मैं अपना यूआरएल यहां नहीं दे रहा हूं।) मैं उसी यूआरएल, उपयोगकर्ता नाम, पासवर्ड के साथ एसक्यूएल डेवलपर से कनेक्ट करने में सक्षम हूं। मैं बस सोच रहा था क्योंकि मेरे पास टोमकैट में डीबी कॉन्फ़िगर किया गया है, क्या मेरी कॉन्फ़िगरेशन में कुछ गलत या कुछ भी है? लेकिन आप लोगों को लगता है कि मैं सही उपयोगकर्ता नाम/पासवर्ड नहीं देता हूं। आ जाओ!!!!!! वे बुनियादी हैं, लोग पहले बुनियादी जांच करने से पहले प्रश्न पोस्ट करने का प्रयास कैसे करेंगे! –

6

बस इसी तरह की एक समस्या हल की। यदि केस संवेदनशील पासवर्ड के लिए 11 जी डेटाबेस कॉन्फ़िगर किया गया है, लेकिन आप 10 जी क्लाइंट का उपयोग करके कनेक्ट करने का प्रयास कर रहे हैं, तो 10 जी क्लाइंट डेटाबेस में ऊपरी मामले में पासवर्ड भेज देगा, इसलिए एक अवैध पासवर्ड जब आपके द्वारा टाइप किया गया पासवर्ड स्पष्ट रूप से होता है सही बात। तो आपको सही मामले में पासवर्ड भेजने के लिए क्लाइंट को 11 जी तक अपग्रेड करना होगा (लेकिन एक त्वरित परीक्षण के लिए आप सभी ऊपरी मामले में अपना पासवर्ड बदल सकते हैं और आप कनेक्ट करने में सक्षम होंगे)।

+0

11g अब समर्थित है। आपको बस इतना करना है कि 'org.hibernate.dialect.Oracle10gDialect' का उपयोग करें – abhi

1

अपने पासवर्ड और उपयोगकर्ता नाम लोअरकेस हैं और उनके बड़े मोड (जैसे मैं, मैं तुर्की में) इस समस्या के कारण हो सकता भिन्न मान है। कुछ जावा- ओरेकल कनेक्शन पुस्तकालय उन्हें संस्कृति मतभेदों को देखे बिना अपरकेस बनाते हैं।

1

इस धागे में घुस गया क्योंकि मुझे एक ही समस्या का सामना करना पड़ रहा था। उपयोगकर्ता नाम और पासवर्ड सही थे। SQLPlus और अन्य अनुप्रयोगों से उन प्रमाण-पत्रों का उपयोग करके लॉगिन करने में सक्षम था। Datasource.url भी सही था।

त्रुटियों का विश्लेषण करते समय, पाया गया कि ojdbc6.jar जो मैं उपयोग कर रहा था वह ओरेकल 11.1.0.7 से कनेक्ट करने का प्रयास कर रहा था, जबकि मेरा ओरेकल 11.2.0.4 था। नवीनतम ojdbc6.jar डाउनलोड किया और कनेक्ट करने और voila करने की कोशिश की!