使用Hibernate查询Oracle时获取异常?

时间:2013-01-15 14:11:30

标签: java oracle hibernate gwt oracle11g

在我的GWT应用程序中执行select查询时收到以下异常。

2013-01-15 19:36:34,407  WARN [org.hibernate.util.JDBCExceptionReporter] [btpool0-0] (JDBCExceptionReporter.java:100) - SQL Error: 28001, SQLState: 99999
2013-01-15 19:36:34,407 ERROR [org.hibernate.util.JDBCExceptionReporter] [btpool0-0] (JDBCExceptionReporter.java:101) - ORA-28001: the password has expired
ORA-02063: preceding line from LOCAL

无法弄清楚原因。有人可以帮我解决这个问题吗?

Oracle版:11g

Hibernate版本:3.4.0

提前感谢。

3 个答案:

答案 0 :(得分:1)

错误消息显示,密码已过期。您需要检查属性filedb.xml文件中的凭据和凭据。您可以从命令行使用您的凭据登录吗?

答案 1 :(得分:1)

如果您使用的是Windows,请尝试此操作。这用于重置密码:

set ORACLE_HOME=<YOUR_ORACLE_HOME>;
set ORACLE_SID=<SID>
Sqlplus / as sysdba
startup ;

数据库启动后;

SQL > alter user <USERNAME> identified by <password >

答案 2 :(得分:1)

问题是两件事之一:

1)您的密码已过期,您需要更新密码。

2)系统认为您的密码已过期,您需要更新密码。

如果您打开SQL Developer并执行以下操作,这可以很容易地解决:

右键点击连接 - &gt;更改密码

如果您正在运行多个数据库(例如测试和生产),请在所有位置更改密码,这可能会被取消,但还有其他问题会解决同样的问题。

source