現在、私はh2組み込みデータベースを使用して学生データベースのJavaアプリケーションを開発しています。私が知りたいのは、パスワードをユーザー入力で更新する方法だけです。上記のJDBCのh2データベースの更新/変更パスワード
Scanner sc=new Scanner(System.in);
String username,password,user="admin",pass;
System.out.println("User name:");
username=sc.next();
System.out.println("Password:");
password=sc.next();
Class.forName("org.h2.Driver");
Connection c=DriverManager.getConnection("jdbc:h2:database",username ,password);
Statement s=c.createStatement();
System.out.println("Enter new password:");
pass=sc.next();
s.execute("alter user "+user+" identified by "+pass);
実行に次のエラーを示す一部抜粋です:
例外スレッド「メイン」org.h2.jdbc.JdbcSQLException中:SQLステートメントの構文エラー「にALTER USER ADMIN IDENTIFIED [*] BY POPPER ";予想される "SET、RENAME、ADMIN"; SQLステートメント: ポッパーによって識別されるユーザーの管理者を変更する[42001-176]
ファンシーマニュアルを読んだことがありますか? http://www.h2database.com/html/grammar.html#alter_user_set_passwordプリペイドド・ステートメントまたは*エスケープ*ユーザーを使用してパスすることもできます。 –