如何在网络服务器模式下启动derby并仍然获得嵌入式连接?
我只是想知道如何在网络服务器模式下启动derby并仍然可以获得嵌入式连接?
谢谢。
您需要在“嵌入式服务器模式”下启动Derby。 如果您已在嵌入模式下使用Derby,则可以通过在类路径中提供必要的文件,然后在启动应用程序时指定一些命令行参数来启用此function。
首先确保以下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。 我不相信是这样的。 您的应用程序将继续使用嵌入式驱动程序访问数据库,而现在允许使用客户端驱动程序访问其他软件。
嵌入式服务器模式听起来像你要求的。 它允许您在启动嵌入式数据库时启动网络服务器。
你想在网络服务器模式下启动derby并获得嵌入式驱动程序,这听起来很矛盾。 即使这可能,但绝对不鼓励。 您应该决定是使用DRDA在网络模式下使用Apache Derby还是作为嵌入式驱动程序,并坚持这一决定。
在这里,您将找到有关如何使用网络驱动程序的教程: http : //db.apache.org/derby/papers/DerbyTut/ns_intro.html
有人纠正我,如果我错了,两人都会在separte端口上运行。 所以你可以使用正确的connectionName连接到所需的一个,对吗?
@pawelocue:对不起,但这是错的。 使用嵌入式服务器模式是完全正常的,有时非常有用。 绝对不会气馁。
- SQLException:值的数量不相同
- 尝试将JPA与Derby一起使用时ClassNotFoundException:org.apache.derby.jdbc.EmbeddedDriver
- 在Tomcat中的其他Web应用程序之前加载derby.war(derby servlet服务器)
- 如何将德比改为READ / WRITE模式
- 我疯了吗? 将已建立的产品从HSQLDB切换到Apache Derby
- Hibernate / JPA + Derby – SELECT语句在GROUP BY,ORDER BY或选择列表中包含太多项
- 如何以小写名称创建表 – JavaDB / Derby?
- 结果集未打开。 validation自动提交是否关闭。 Apache Debry
- 德比:相当于CONCAT