In a fragment of a (c++) OCI programm, I use OCIAttrSet
with the OCI_ATTR_PASSWORD
flag in order to pass (or set) the password to initialize a session like so:
success = OCIAttrSet (
ses,
OCI_HTYPE_SESSION,
(text *) password.c_str(),
password.length(),
OCI_ATTR_PASSWORD,
err
);
The subsequent
success = OCISessionBegin (
svc,
err,
ses,
OCI_CRED_RDBMS,
OCI_DEFAULT
);
works ok if the password is given in small letters. If at least one character of password
is in upper case, OCISessionBegin
return the error ORA-01017: invalid username/password; logon denied
.
This behaviour in contrast to every password handling I have seen in Oracle because up to now I believed them to be case insenstive. Yet, I don't find this behaviour documented somewhere. So, is this expected behaviour (and I am unable to find the documentation) or is there going on something else?
Oracle user passwords were case-insensitive, until version 11g - now you have to get the case right.