我在桌面应用程序中使用嵌入式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);
答案 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);