无法连接到我的Derby数据库

时间:2011-10-21 22:16:20

标签: java jdbc derby

我使用名为“Test”的Java DB创建了一个新数据库,我尝试使用java DB Embedded驱动程序创建连接,但是当我在数据库名称中输入Test并添加用户名并传递并按OK时,会出现错误:

  

“无法添加连接。无法使用org.apache.derby.jdbc.EmbeddedDriver建立与jdbc.derby.Test的连接(数据库'未找到测试')”

为什么我收到此消息?

然后,当我编写代码时

   String conStr = "jdbc:derby:Test";
    String driver2 = "org.apache.derby.jdbc.EmbeddedDriver";
    try {
        Class.forName(driver2);
        System.out.println("driver");
    } catch (ClassNotFoundException e1) {
        e1.printStackTrace();
    }
    try {
        Properties props = new Properties();
        props.put("user", "sahar");
        props.put("password", "123456"); 
        //Connection conn = DriverManager.getConnection(conStr);
        Connection conn = DriverManager.getConnection(conStr,props);
        System.out.println("connect ");
    } catch (SQLException e) {
        e.printStackTrace();
    }

它抛出异常“数据库'测试'未找到”

2 个答案:

答案 0 :(得分:3)

如果您确实创建了本地数据库,请尝试指向绝对文件名而不是相对文件名。

Unix:
jdbc:derby:/srv/databases/Test

Windows:
jdbc:derby:c:/databases/Test

更好的方法是通过Derby网络服务器访问数据库

答案 1 :(得分:1)

没有看到代码就很难猜到,但也许你的连接字符串需要create=true

final String connectionURL = "jdbc:derby:" + dbName + ";create=true";

(我将这个副本从我使用嵌入式数据库的应用程序中删除并粘贴。)