【问题标题】:How can I start apache derby programmatically jar file?如何以编程方式启动 apache derby jar 文件?
【发布时间】:2012-04-01 07:03:45
【问题描述】:

我有一个使用 Apache Derby 的 Java 应用程序。使用 Eclipse 导出选项,我将其导出为 JAR 文件。当我运行 Eclipse 并且服务器连接到端口 1527 时,JAR 正确执行。

但是当eclipse关闭时(并且服务器没有连接到1527)在执行jar时,我得到这个错误

java.sql.SQLNonTransientConnectionException: java.net.ConnectException : 在端口 1527 上连接到服务器 localhost 时出现错误消息 连接被拒绝。

这是可以理解的。但我想分发 JAR。那么有没有办法在执行 JAR 时以编程方式启动服务器?

【问题讨论】:

    标签: java jar derby


    【解决方案1】:

    您可以通过编程方式启动NetworkServer

    NetworkServerControl serverControl = new NetworkServerControl(InetAddress.getByName("myhost"),1621)
    
    serverControl.shutdown();
    

    【讨论】:

    • 在哪里可以指定数据库的名称?
    • @SimpleGuy 你不需要。服务器将只等待将指定数据库名称的连接请求,如下所示:jdbc:derby://myhost:1621/database_name_here
    【解决方案2】:

    最简单的就是使用嵌入式Derby

            Class.forName("org.apache.derby.jdbc.EmbeddedDriver");
            conn = DriverManager.getConnection("jdbc:derby:" + DATA_STORE + ";create=true");
    

    【讨论】:

      【解决方案3】:

      您需要以编程方式启动服务器。

      手册中记录了这是如何完成的:

      http://db.apache.org/derby/docs/10.8/adminguide/tadminconfig814963.html

      【讨论】:

      • 虽然这在理论上可以回答这个问题,it would be preferable 在此处包含答案的基本部分,并提供链接以供参考。
      猜你喜欢
      • 1970-01-01
      • 2012-09-22
      • 2018-07-29
      • 2012-03-08
      • 2010-12-15
      • 2017-06-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多