1

在 (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 中看到的每个密码处理都不同,因为到目前为止我认为它们是不区分大小写的。然而,我没有在某处发现这种行为。那么,这是预期的行为(我无法找到文档)还是发生了其他事情?

4

1 回答 1

1

Oracle 用户密码区分大小写,直到版本 11g - 现在您必须正确区分大小写。

于 2011-02-16T02:00:10.223 回答