For at bruge JDBC til at ændre adgangskoden for en Oracle-bruger skal du gøre to ting:
- sæt adgangskoden direkte i SQL-strengen (bindingsparametre kan ikke bruges),
- deaktiver escape-behandling.
Du kan ikke bruge bindevariabler, fordi brugernavnet og adgangskoden ikke sendes til databasen som strenge med enkelt citat.
Statement s = conn.createStatement();
s.setEscapeProcessing(false);
s.executeUpdate("ALTER user Stephen identified by \"newPassword?\" replace \"oldPassword\"");
Hvis du indstiller adgangskoden programmatisk, skal din kode også sikre, at den nye og gamle adgangskode ikke indeholder nogen "
tegn, for at undgå SQL-injektion.