如何将JavaDB数据库集成到我的主java包中

时间:2010-06-06 13:35:53

标签: java netbeans javadb

我正在使用一个使用JavaDB的桌面应用程序。 我使用的是NetBeans 6.8和JDK 6 Update 20

我创建了我需要的数据库,并通过我的应用程序使用ClientDriver

连接到它
    String driver = "org.apache.derby.jdbc.ClientDriver";
    String connectionURL = "jdbc:derby://localhost:1527/myDB;create=true;user=user;password=pass";

    try {
        Class.forName(driver);
    } catch (java.lang.ClassNotFoundException e) {
        e.printStackTrace();
    }
    try {
        schedoDBConnection = DriverManager.getConnection(connectionURL);
    } catch (Exception e) {
        e.printStackTrace();
    }

这很好用。但在这种情况下,数据库的服务来自NetBeans。如果我将我的应用程序移动到另一台PC,我将无法访问我的数据库。如何将JavaDB集成到我的应用程序中?

3 个答案:

答案 0 :(得分:3)

  

如果我将我的应用程序移动到另一台PC,我将无法访问我的数据库。如何将JavaDB集成到我的应用程序中?

NetBeans以Network Server模式启动Derby,Derby在另一个JVM中运行。如果要将数据库嵌入到应用程序中,则需要在应用程序中的embedded mode中启动Derby。为此,请使用 EmbeddedDriver 提供的derby.jar

/*
    If you are running on JDK 6 or higher, you do not
    need to invoke Class.forName(). In that environment, the
    EmbeddedDriver loads automatically.
*/
Class.forName("org.apache.derby.jdbc.EmbeddedDriver");
Connection conn = DriverManager.getConnection("jdbc:derby:sample");

默认情况下,将从工作目录创建/加载数据库。如果您想要更多控制,建议的方法是设置derby.system.home系统属性。看看Using Java DB in Desktop Applications

另见

答案 1 :(得分:0)

数据库不是来自Netbeans;它内置于JDK本身。

客户端需要为他们提供JDBC驱动程序JAR。如果您将数据库作为服务器运行,则您的用户必须启动服务器。也许这就是Netbeans为你做的那件必须被替换的部分。

答案 2 :(得分:0)

创建db derby并使用localhost连接后,需要在文件derby.properties中添加一行,找到你的目录数据库

derby.drda.host=10.0.0.40  //example IPAddress

保存并转到netbeans中的连接并将localhost更改为你的ipaddress