Le cas de mot de passe Sensstivie est-il donné à OciAttrset avec OCI_ATTR_PASSWORD?
Question
Dans un fragment d'un programme OCI (C ++), j'utilise OCIAttrSet
avec le OCI_ATTR_PASSWORD
Indicateur afin de passer (ou de définir) le mot de passe pour initialiser une session comme tel:
success = OCIAttrSet (
ses,
OCI_HTYPE_SESSION,
(text *) password.c_str(),
password.length(),
OCI_ATTR_PASSWORD,
err
);
Le suivant
success = OCISessionBegin (
svc,
err,
ses,
OCI_CRED_RDBMS,
OCI_DEFAULT
);
Fonctionne bien si le mot de passe est donné en petites lettres. Si au moins un personnage de password
est dans le haut du cas, OCISessionBegin
renvoyer l'erreur ORA-01017: invalid username/password; logon denied
.
Ce comportement contrairement à chaque traitement de mot de passe que j'ai vu dans Oracle, car jusqu'à présent, je croyais qu'ils étaient insensibles au cas. Pourtant, je ne trouve pas ce comportement documenté quelque part. Alors, ce comportement attendu (et je ne suis pas en mesure de trouver la documentation) ou y a-t-il autre chose?
La solution
Mots de passe utilisateur Oracle étaient Insensible à la casse, jusqu'à la version 11G - vous devez maintenant obtenir le bon cas.