Derby数据库通过本地网络LAN访问

时间:2016-11-26 15:22:20

标签: networking derby

我使用netbeans 8.1创建了一个带有derby客户端驱动程序的java桌面应用程序。

我使用此代码连接到数据库。

Class.forName("org.apache.derby.jdbc.ClientDriver");
Connection conn = DriverManager.getConnection("jdbc:derby://localhost:1527/LibertySchool;create=true;user=liberty;password=liberty");
conn.setSchema("LIBERTY");
Statement s = conn.createStatement();
s.executeQuery("SELECT * FROM  USUARIOS");
ResultSet rs = s.getResultSet();
if (rs.next()) {
    Login entrar = new Login();
    entrar.setVisible(true);
}

独立应用程序在构建dist文件后创建的pc上正常工作,其中包含app.jar文件,一切正常。

我创建了这个,因此很少有客户端计算机可以访问同一个应用程序来更新数据。我已经在客户端机器上启动了derby网络,我还从localhost更改连接以使用app数据库位置ip服务器。

但我的应用程序不能在同一网络上的客户端上运行,只能在构建它的计算机上运行。其他不使用数据库的应用程序在网络上运行良好,似乎必须将derby数据库文件夹也移动到客户机。

我需要知道如何正确设置客户端计算机,以便用户可以使用数据库访问应用程序。

有人可以提供一些提示。

1 个答案:

答案 0 :(得分:0)

如果要在与服务器不同的计算机上与客户端建立客户端 - 服务器连接,则必须执行以下操作:

  1. localhost更改为服务器计算机的有效外部可见地址。您可以使用IP地址或主机名,例如192.168.1.104:1527Carlos-Mac-Pro.att.net:1527,但您需要确定要使用的正确网络地址。 localhost:1527仅在客户端和服务器位于同一台计算机上时才有效。
  2. 确保您的网络允许客户端计算机和服务器计算机之间的连接。如今,作为安全措施,大多数计算机默认会阻止来自其他计算机的大多数入站网络连接,因此您需要配置服务器计算机的防火墙以及正在进行的任何网络设备在客户端计算机和服务器计算机之间的本地网络中使用,以允许端口1527上的TCP / IP连接。
  3. 我不认为您想将derby数据库文件夹移动到客户端计算机。这将是一个完全不同的应用程序架构(嵌入式与客户端 - 服务器)。以下是关于两种配置之间差异的一些很好的背景资料:https://db.apache.org/derby/docs/10.13/getstart/cgsquck70629.html