2012-06-29 22 views
5

を否定し、私はその後、私のWebアプリケーション(Spring MVCのプロジェクト)で、私はcontext.xmlに正しいユーザー名とパスワードを入力してください。ORA-01017:無効なユーザー名/パスワード。ログオンが

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

でこれをdeclearのTomcatのserver.xml

<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"/> 

でOracleデータベースの設定をしている私がすることができました前にこのデータベースに接続してください。私は1週間それに取り組まなかった。次に、私がそれを開始しようとすると、常に得る:

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

あなたはなぜパスワードが正しいと思いますか?コードが過去に機能し、コードが変更されていない場合、論理推論はパスワードが変更されている必要があるということです。おそらくパスワードは変更されませんでしたが、DBAは大文字と小文字を区別したパスワードを有効にして、保存したパスワードが正しくないようにしました。 –

+0

このデータベースも使用しています。私はこのパスワードを使用して、同じマシン上のSQL Developerから接続することができます!ありがとうございます –

+0

SQL Developerの接続はどのように構成されていますか?基本接続を使用していますか? TNS接続?他に何か?アプリケーションが使用しているJDBC URLを投稿したときに、誤って 'service name'を意味する' schema'を入力しましたか?jdbc:oracle:thin:@databaseurl:1521:schema'は 'jdbc:oracle:thin: @ datatabaseurl:1521:サービス名 '。取得したエラーは、ユーザー名とパスワードが間違っていることを示しています。パスワードが間違っているか、ユーザー名が間違っているか、間違ったデータベースに接続しようとしています。 –

答えて

2

解決済み。問題は使用しないでください。

factory="oracle.jdbc.pool.OracleDataSourceFactory" 

これを削除した後、正常に動作します。

+1

ここはどこですか?、ファイルはどこにありますか? – rainman

+0

@rainmanこのページを検索 –

1

あなたがログオンしようとしているユーザーが期限切れのパスワード

+0

私はそれが実際のパスワードだと確信しています。このWebプロジェクトの他に、私はまだ他のいくつかのプロジェクトでそれを使用しています。ありがとう!!! –

1
  • ユーザー名が正しくない可能性があることも可能です。
  • パスワードが間違っている可能性があります。
  • 接続先のサーバー/インスタンスが、マシンとサーバー間、またはアプリケーションとSQL Developer間で正しくないか、または異なる場合があります。
  • 大文字と小文字を区別するパスワードを使用するようにデータベースが構成されている可能性があります。
  • パスワードは、セミコロン;文字アプリケーションは接続文字列を構築する際に、接続文字列が切り捨て取得させることができますが、SQL Developerから、それを使用することができますが含まれているかもしれません(?)
  • あなたはどこかにタイプミスを持つことができます(?)
+1

私は同じURL、ユーザー名、パスワードでSQLデベロッパーから接続することができます。私はtomcatで設定されたdbを持っているので、私の設定に何か間違っているか何かがあるのだろうかと疑問に思っていましたか?しかし、人々はちょうど私が正しいユーザー名/パスワードを与えていないと感じています。いい加減にして!!!!!!それらは基本的なもので、基本的なチェックを行う前に人々が質問を投稿するためにどのように努力しますか? –

6

ちょうどこれと同様の問題を解決しました。大文字と小文字が区別されるパスワードのために11gのデータベースが設定されているが、10gのクライアントを使用して接続しようとしている場合、10gクライアントは大文字のパスワードをすべてデータベースに送信するので、入力したパスワードがはっきりしている正しい。したがって、正しいケースでパスワードを送信するには、クライアントを11gにアップグレードする必要があります(ただし、クイックテストでは、パスワードを大文字に変更すると接続できます)。

+0

11gがサポートされました。 org.hibernate.dialect.Oracle10gDialect'を使うだけです。 – abhi

1

パスワードとユーザー名が小文字で、大文字モードの値が異なる場合(i、İのようにトルコ語)、問題が発生する可能性があります。 Java-Oracle接続ライブラリの中には、文化の違いを見ずに大文字にするものがあります。

1

私は同じ問題に直面していたので、このスレッドにぶつかりました。ユーザー名とパスワードは完璧でした。 SQLPlusと他のアプリケーションの資格情報を使用してログインできました。 datasource.urlも完璧でした。

エラーを分析しているうちに、使用していたojdbc6.jarがOracle 11.1.0.7に接続しようとしていたのに対し、Oracleは11.2.0.4でした。最新のojdbc6.jarをダウンロードし、接続しようとしました!

関連する問題