繁体   English   中英

在JDBC中更新/更改h2数据库的密码

[英]Updating/Changing password of h2 database in JDBC

目前我正在使用h2嵌入式数据库为学生数据库开发Java应用程序。 我想知道的是如何使用用户输入更新密码。

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

上面给出的是部分片段,它在执行时显示以下错误:

线程“main”中的异常org.h2.jdbc.JdbcSQLException:SQL语句“ALTER USER ADMIN IDENTIFIED [*] BY POPPER”中的语法错误; 预期“SET,RENAME,ADMIN”; SQL语句:由popper识别的alter user admin [42001-176]

您尝试了Oracle语法。 试试h2语法

ALTER USER admin SET PASSWORD 'aaa';

有关详细信息,请参阅http://www.h2database.com/html/grammar.html#alter_user_set_password

编辑1

您需要将代码更改为

s.execute("alter user "+user+" set password '"+pass + "'");

请尝试以下方法

s.execute("alter user "+user+" set password "+pass);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM