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
);

パスワードが小文字で指定されていれば問題なく動作します。の少なくとも1文字がpassword大文字の場合、OCISessionBeginエラーを返しますORA-01017: invalid username/password; logon denied

この動作は、Oracleで見たすべてのパスワード処理とは対照的です。これまで、パスワードは大文字と小文字を区別しないと信じていたためです。しかし、私はこの振る舞いがどこかに文書化されているのを見つけません。それで、これは予想される動作ですか(そして私はドキュメントを見つけることができません)、それとも何か他のことが起こっていますか?

4

1 に答える 1

1

バージョン11gまで、Oracleユーザーのパスワードでは大文字と小文字が区別されませんでした。大文字と小文字を正しく区別する必要があります。

于 2011-02-16T02:00:10.223 に答える