Java Derby 使用带点的用户名创建数据库

Java Derby Create Database with dotted username

我无法使用以下 connectionUrl;

创建数据库
Class.forName("org.apache.derby.jdbc.EmbeddedDriver").newInstance();
String connectionUrl = "jdbc:derby:myDB;create=true;user="+"john.smith"+";password="+"johnpassword"+";";
Connection con = DriverManager.getConnection(connectionUrl);
java.sql.Statement stmt = con.createStatement();

当我使用 johnsmith 作为用户名时,它已成功创建。我怀疑这些点有问题。

我做错了什么?

你必须在user=john.smith两边加上双引号(符号"需要在java中用\转义),因为它(点)不是一个有效的普通标识符。

String connectionUrl = "jdbc:derby:myDB;create=true;user="+"\"john.smith\""+";password="+"johnpassword"+";";