Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sqlite/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何在网络服务器模式下启动derby,并且仍然获得嵌入式连接?_Java_Derby - Fatal编程技术网

Java 如何在网络服务器模式下启动derby,并且仍然获得嵌入式连接?

Java 如何在网络服务器模式下启动derby,并且仍然获得嵌入式连接?,java,derby,Java,Derby,我只是想知道如何在网络服务器模式下启动derby,并且仍然能够获得嵌入式连接 谢谢。听起来像是你要的。它允许您在启动嵌入式数据库时启动网络服务器。在网络服务器模式下启动derby并获取嵌入式驱动程序听起来很矛盾。即使这是可能的,也绝对不鼓励这样做。您应该决定是在网络模式下使用DRDA还是作为嵌入式驱动程序使用ApacheDerby,并坚持这个决定 在这里,您可以找到有关如何使用网络驱动程序的教程: 如果我错了,有人会纠正我,两者都将在单独端口上运行。因此,您可以使用正确的connectionNa

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


谢谢。

听起来像是你要的。它允许您在启动嵌入式数据库时启动网络服务器。

在网络服务器模式下启动derby并获取嵌入式驱动程序听起来很矛盾。即使这是可能的,也绝对不鼓励这样做。您应该决定是在网络模式下使用DRDA还是作为嵌入式驱动程序使用ApacheDerby,并坚持这个决定

在这里,您可以找到有关如何使用网络驱动程序的教程:
如果我错了,有人会纠正我,两者都将在单独端口上运行。因此,您可以使用正确的connectionName连接到所需的服务器,对吗?

您需要在“嵌入式服务器模式”下启动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)连接到数据库。上面的说明很好地涵盖了这一部分


有人暗示,在这种模式下运行Derby可能会受到阻碍。我认为情况并非如此。您的应用程序将继续使用嵌入式驱动程序访问数据库,而其他软件现在可以使用客户端驱动程序访问数据库。

@pawelocue:对不起,这是错误的。使用嵌入式服务器模式是完全正确的,有时非常有用。这绝对不是气馁