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