|Oracle Call Interface Programmer's Guide
Part Number A89857-01
More OCI Relational Functions, 91 of 97
This call allows the password of an account to be changed.
sword OCIPasswordChange ( OCISvcCtx *svchp, OCIError *errhp, CONST text *user_name, ub4 usernm_len, CONST text *opasswd, ub4 opasswd_len, CONST text *npasswd, sb4 npasswd_len, ub4 mode );
A handle to a service context. The service context handle must be initialized and have a server context handle associated with it.
An error handle you can pass to
OCIErrorGet() for diagnostic information in the event of an error.
Specifies the user name, which can be in UTF-16 encoding. It must be terminated with a NULL character if the service context has been initialized with an authentication handle.
The length of the user name string specified in
user_name, in number of bytes regardless of the encoding.
usernm_len must be non-zero.
Specifies the user's old password, which can be in UTF-16 encoding.
The length of the old password string specified in
opasswd, in bytes.
opasswd_len must be non-zero.
Specifies the user's new password, which can be in UTF-16 encoding. If the password complexity verification routine is specified in the user's profile to verify the new password's complexity, the new password must meet the complexity requirements of the verification function.
Then length in bytes of the new password string specified in
npasswd. For a valid password string,
npasswd_len must be non-zero.
There is only one encoding allowed, either UTF-16 or not, for
If the user session context is already created, this call just changes the password and the flag has no effect on the session. Hence the user still remains logged in.
This call allows the password of an account to be changed. This call is similar to
OCISessionBegin() with the following differences:
This call is useful when the password of an account has expired and
OCISessionBegin() returns an error (ORA-28001) or warning that indicates that the password has expired.
mode or the environment handle determines if UTF-16 is being used.