当我使用 SQL*Plus 连接到密码进入宽限期的用户(Oracle 11g、Oracle 8i)时,我收到一条错误消息,但连接仍然成功:
SQL*Plus:
=====================================
SQL> connect gumiplesku
Enter password:
ERROR:
ORA-28002: the password will expire within 7 days
Connected.
SQL> select User from dual;
USER
======================================
gumiplesku
=====================================
另一方面,在我的 C++ OCI 代码中OCILogon2
,如果我尝试连接同一个用户,我会得到一个OCI_ SUCCESS_ WITH_ INFO
相同的“错误”,但如果我继续,OCISvcCtx*
我得到的似乎是无效的(即使它不是 null ),因为尝试执行OCIAttrGet
orOCIStmtExecute
会给我一个OCI_INVALID_HANDLE
错误。
用户应该在他的所有宽限期内成功连接到数据库,直到他的密码完全过期。那么,当我的句柄不好时,SQL*Plus 怎么能正常连接呢?我应该尝试以不同的方式连接吗?
非常感谢。