パスワードに疑問符charが含まれていると、ユーザーのパスワードを変更する際に問題があります。私はこれまで他のcharとこの問題に遭遇していません、それは疑問符charに固有のようです。jdbcを使用してユーザーのパスワードを変更します。疑問符を含むパスの問題
私は次のSQL使用SQLPLUSでのユーザーのパスワードを変更する場合: Alter user Stephen identifed by "NewPassword?" REPLACE "OldPassword";
はその後、それが正常にパスを変更し、私は新しいパス使用してログインすることができます「NEWPASSWORDか」。
しかし私は、JDBC経由で同じSQLを実行している場合:私は、パスを使用してログインすることはできません
final String query = "ALTER user Stephen identified by \"NewPassword?\" REPLACE \"OldPassword\"";
stmt.executeUpdate(query);
「新パスワードを?」。
sqlplusとjdbcで入力したときのパスワードのハッシュコードが異なることを確認します。 何とかjdbcで文を実行すると、「NewPassword?」以外のものが入力されています。
私は以下のパスワードに問題がないようです: NewPassword、NewPassword \、NewPassword '。それは問題を引き起こす疑問符のようです。
デバッグでは、コードポイント(dec)が疑問符に対して63であるため、途中で変更されていないように見えます。
この動作の原因は何ですか? 私は現時点では紛失していますが、私はこの問題を回避するために疑問符でパスを防止することを検討しています。
どのDBバージョンですか?どのJDBCドライバのバージョンですか? 'stmt.getClass()。getName()'とは何ですか? – BalusC
申し訳ありませんが、私はこれを最初に述べておきました。 dbバージョン= Oracle Database 10g Express Editionリリース10.2.0.1.0 - Production、 ドライバのバージョン= 10.2.0.4.0、 stmt.getClass()。getName()= oracle_jdbc_driver_T4CStatement_Proxy –