You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Java Derby添加create=true参数仍无法找到数据库求助

解决Derby数据库创建后无法在IJ工具中找到的问题

问题原因

你的Java代码中jdbc:derby:javaDb;create=true使用的是相对路径,数据库会被创建在Java程序运行时的当前工作目录下。而你在CMD的libs目录下启动IJ工具,两个目录不一致,导致IJ找不到对应的数据库文件。

解决方案

方案1:在IJ中使用数据库的绝对路径连接

  1. 定位Java程序创建的javaDb数据库实际位置:
    • 比如你在D:\myProject目录下运行Java程序,数据库文件夹就会生成在D:\myProject\javaDb
  2. 在IJ中通过绝对路径连接数据库:
    connect 'jdbc:derby:D:\myProject\javaDb';
    
    Windows系统路径可使用反斜杠\,或转义后的正斜杠//。

方案2:切换到数据库所在目录再启动IJ

  1. 打开CMD,切换到javaDb数据库所在的目录(即Java程序运行的工作目录):
    cd D:\myProject
    
  2. 从该目录启动IJ工具(需指定derbyrun.jar的相对路径):
    java -jar libs/derbyrun.jar ij
    
  3. 执行连接命令即可找到数据库:
    connect 'jdbc:derby:javaDb';
    

方案3:修改Java代码使用绝对路径创建数据库

如果希望数据库固定在某个位置,直接在代码中指定绝对路径,这样无论程序在哪运行,数据库位置都保持固定:

public class Main{
    public static void main(String[] args) {        
        try {
            // 替换为你指定的数据库绝对路径
            DriverManager.getConnection("jdbc:derby:D:/myDatabases/javaDb;create=true");
        } catch (SQLException e){
            e.printStackTrace();
        }
    } 
}

之后在IJ中直接使用该绝对路径连接即可。

内容的提问来源于stack exchange,提问作者JamesB

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.12 10:35:24