oracle-databaseoracle-call-interfaceora-01017

Is the password case senstivie when given to OCIAttrSet with OCI_ATTR_PASSWORD?


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?


Solution

  • Oracle user passwords were case-insensitive, until version 11g - now you have to get the case right.