4

我正在开发一个使用 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 集成到我的应用程序中?

4

3 回答 3

3

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

NetBeans 以网络服务器模式启动 Derby,而 Derby 正在另一个 JVM 中运行。如果要将数据库嵌入到应用程序中,则需要从应用程序中以嵌入模式启动 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系统属性。看看在桌面应用程序中使用 Java DB

也可以看看

于 2010-06-06T14:35:34.887 回答
0

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

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

于 2010-06-06T14:06:12.537 回答
0

创建 db derby 并与 localhost 连接后,您需要在文件 derby.properties 中添加行,位于您的目录数据库中

derby.drda.host=10.0.0.40  //example IPAddress

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

于 2013-08-27T01:44:39.720 回答