Derby在数据库路径中嵌入了SPACE

时间:2012-12-22 17:04:48

标签: java derby

我在桌面应用程序中使用嵌入式derby。但是当数据库路径中存在空间(在任何级别的目录中)时,derby驱动程序无法连接到数据库。

问候,:)

更新

public static final String connectionUrl = "jdbc:derby:[path]database;user=app;password=pass;";
String path = Utils.getPathOfJar();
String dbPath = connectionUrl.replace("[path]", path);
dbConnection = DriverManager.getConnection(dbPath);

1 个答案:

答案 0 :(得分:0)

首先,这个问题只发生在Linux中。

应该在系统属性中设置数据库的路径,如下所示:

<强> derby.system.home

像这样:

String path = Utils.getPathOfJar();    
path = path.jarFilePath.replaceAll("%20", "\\ ");
System.setProperty("derby.system.home", path);

public static final String connectionUrl = "jdbc:derby:database;user=app;password=pass;";
dbConnection = DriverManager.getConnection(connectionUrl);