2015-12-18 2 views
0

Я не могу создать базу данных ниже connectionUrl;Java Derby Создать базу данных с точным именем пользователя

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 для пользователя она успешно создана. Я подозреваю, что точки вызывают проблему.

Что я делаю неправильно?

ответ

3

Вы должны поставить двойные кавычки вокруг пользователя = john.smith (символ "должен быть экранирован \ в Java), так как она (точка) не является допустимым обычный идентификатор.

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

Спасибо за Это работает для меня, но я еще не знал, что пользователь создал «john.smith» в DB или «john.smith» в DB. Я еще не тестировал. –