java - 如何以网络服务器模式启动 derby 并仍然获得嵌入式连接?

标签 java derby

我只是想知道如何在网络服务器模式下启动 derby 并且仍然能够获得嵌入式连接?

谢谢。

最佳答案

您需要以“嵌入式服务器模式”启动 Derby。如果您已经在嵌入式模式下使用 Derby,可以通过在类路径中提供必要的文件,然后在启动应用程序时指定一些命令行参数来启用。

首先确保以下 jar 位于应用程序的运行时类路径中。

     derby.jar derbynet.jar

然后将以下命令行选项添加到用于启动应用程序的 Java 命令中。如果缺少类文件,这些选项将无效。

    -Dderby.drda.startNetworkServer=true 
    -Dderby.drda.portNumber=8011

我在 Tomcat 托管的 servlet 中运行 Derby,因此我将这些选项添加到 catalina.bat 文件中。

启动您的应用程序并检查打开的网络套接字列表。

    netstat -an | find "8011"

您现在应该看到 Derby 在 8011 上监听连接。现在可以使用 Derby 的客户端驱动程序 (derbyclient.jar) 连接到数据库。 http://docs.oracle.com/javadb/10.3.3.0/adminguide/radminembeddedserverex.html 中的说明很好地涵盖了这一部分。

有人暗示可能不鼓励在此模式下运行 Derby。我不相信会是这样。您的应用程序将继续使用嵌入式驱动程序访问数据库,而现在允许使用客户端驱动程序访问其他软件。

关于java - 如何以网络服务器模式启动 derby 并仍然获得嵌入式连接?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/374833/

相关文章:

java - 替换 StringBuilder 中的字符

java - 违反外键约束

java - 使用具有相同 hibernate 映射文件的两个不同数据库

java - 将字符串日期转换为长日期并更新 derby 数据库中的行

java - BoneCP 支持 XA 事务吗?

java - 如何使用 Ant 删除目录集?

java - 如何从房间数据库返回单个对象?

java - 修补到 Spring Data REST 存储库时出现 JsonMappingException

derby - 为嵌入式 Derby 重建索引

linux - 使用 JDK11 在 Linux 上将 Derby 作为服务器运行