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