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

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

1
2
3
4
四月  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");

猜你喜欢

转载自blog.csdn.net/DarlingRay/article/details/80900263