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

发布于 2024-07-10 16:03:21 字数 61 浏览 5 评论 0原文

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

谢谢。

I just want to know how I can start derby in network server mode and still be able to get an embedded connection?

Thank you.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(5

老子叫无熙 2024-07-17 16:03:22

您需要以“嵌入式服务器模式”启动 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 很好地涵盖了这部分。

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

You need to launch Derby in "embedded server mode". If you are already using Derby in embedded mode, this can be enabled by providing the necessary files in your classpath, then specifying a handful of command line arguments when launching the application.

First make sure the following jars are in your application's runtime classpath.

     derby.jar derbynet.jar

Then add the following command line options to the Java command used to launch your application. If the class files are missing, these options will have no effect.

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

I'm running Derby from within a servlet hosted by Tomcat, so I added these options to the catalina.bat file.

Start up your application and check the list of open network sockets.

    netstat -an | find "8011"

You should now see Derby listening for connections on 8011. Its now possible to connect to the database using Derby's client driver (derbyclient.jar). The instructions at http://docs.oracle.com/javadb/10.3.3.0/adminguide/radminembeddedserverex.html cover this part pretty well.

It was hinted that running Derby in this mode may be discouraged. I don't believe that to be the case. Your application will continue to access the database using the embedded driver, while other software is now permitted access using the client driver.

北陌 2024-07-17 16:03:22

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

The Embedded Server mode sounds like what you are asking for. It allows you to start a network server when you start the embedded database.

黑白记忆 2024-07-17 16:03:22

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

在这里您将找到有关如何使用网络驱动程序的教程:
http://db.apache.org/derby/papers/DerbyTut/ns_intro。 html

It sounds contradictory that you want to start derby in network server mode and get the embedded driver. Even if this might be possible, it is definitely discouraged. You should decide on whether you want to use Apache Derby in the network mode using the DRDA or as an embedded driver and stick to that decision.

Here you'll find a tutorial on how to use the network driver:
http://db.apache.org/derby/papers/DerbyTut/ns_intro.html

谜泪 2024-07-17 16:03:22

如果我错了,有人纠正我,两者都将在单独的端口上运行。 这样您就可以使用正确的连接名称连接到所需的连接,对吗?

Some one correct me if i am wrong, Both will run on separte ports. So you can connect to the required one using the proper connectionName, right?

暖心男生 2024-07-17 16:03:22

@pawelocue:抱歉,但这是错误的。 使用嵌入式服务器模式是完全可以的,而且有时非常有用。 绝对不会气馁。

@pawelocue: Sorry, but this is wrong. Using the embedded server mode is perfectly alright and sometimes very useful. It is definitely not discouraged.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文