Является ли регистр пароля чувствительным при передаче OCIAttrSet с помощью OCI_ATTR_PASSWORD?

Во фрагменте программы (C++) OCI я использую OCIAttrSet с OCI_ATTR_PASSWORD флаг для передачи (или установки) пароля для инициализации сеанса следующим образом:

success = OCIAttrSet (
  ses, 
  OCI_HTYPE_SESSION,
  (text  *) password.c_str(),
  password.length(),
  OCI_ATTR_PASSWORD, 
  err
);

Последующее

success = OCISessionBegin (
   svc, 
   err, 
   ses,
   OCI_CRED_RDBMS, 
   OCI_DEFAULT
);

работает нормально, если пароль указан маленькими буквами. Если хотя бы один символ password в верхнем регистре, OCISessionBegin вернуть ошибку ORA-01017: invalid username/password; logon denied,

Такое поведение отличается от любой обработки паролей, которую я видел в Oracle, потому что до сих пор считал, что они нечувствительны к регистру. Тем не менее, я не считаю это поведение где-то задокументированным. Итак, это ожидаемое поведение (а я не могу найти документацию) или происходит что-то еще?

1 ответ

Решение

Пароли пользователей Oracle не учитывали регистр, до версии 11g - теперь вы должны правильно понять регистр.

Другие вопросы по тегам