ORA-01017: invalid username/password; logon denied异常的分析

Posted Claricre

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ORA-01017: invalid username/password; logon denied异常的分析相关的知识,希望对你有一定的参考价值。

今天在整合SpringMVC与mybatis的时候遇到了一个异常:

四月 24, 2017 10:37:31 下午 org.apache.catalina.core.StandardWrapperValve invoke
严重: Servlet.service() for servlet [springDispatcherServlet] in context with path [/Test0424SM_zhenghe] threw exception [Request processing failed; nested exception is org.springframework.transaction.CannotCreateTransactionException: Could not open JDBC Connection for transaction; nested exception is java.sql.SQLException: ORA-01017: invalid username/password; logon denied
] with root cause
java.sql.SQLException: ORA-01017: invalid username/password; logon denied

  以上错误是在搭建string+truts+ibatis框架的时候用spring链接oracle数据库的时候报的错误。

  下面仔细分析一下:

  首先最重要的一点你要确定你的账号密码可以登录plsql。

  1.如果你的账号和密码可以登录plsql,那么证明你的用户名密码是没有错误的,只有可能是你的配置文件里面出错,仔细找一下是不是你的url驱动链接地址多了空格或者配置文件里面少了$符号,亦或者是字段名是特殊字段,譬如不能用username来定义用户名(username);再不然就要用系统用户登录plsql , 查询当前的所有用户: select * from dba_users;   查看状态是否被锁(LOCKED ),如果你数据库连接的用户被锁,.给帐号解锁alter user user1 account unlock;   有很多是用户被锁了导致的

  2.或者重新create一个用户,把报错的用户的所有权限转到新的用户上面。

  3.还有就是一个登陆 sysdba和Normal的问题,有很多的时候就是这个问题困扰了开发者。

   解决办法:

  properties对象.put("user",admin);//用户

  properties对象put("password",admin); //密码

   有些连接时这样的代码,如果是oralce数据库的话,报上面你的错。你可以试着把下面的代码加上!

  properties对象.put("internal_logon","sysdba");

以上是关于ORA-01017: invalid username/password; logon denied异常的分析的主要内容,如果未能解决你的问题,请参考以下文章

都是逗号惹的祸 ORA-01017: invalid username/password; logon denied

ORA-01017 invalid username/password;logon denied

ORA-01017: invalid username/password; logon denied异常的分析

ORA-01017 invalid username/password;logon denied (密码丢失解决方案)

oracle12c 可行的解决办法:ORA-01017: invalid username/password; logon denied

在客户端机器上使用PlSql,登录dba账号提示ORA-01031:insufficient privileges或 ORA-01017: invalid username/password; log