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");


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM