首页 > 解决方案 > 使用 IP 地址到远程服务器的 JDBC 连接

问题描述

我在同一个wifi网络中有两台笔记本电脑。

笔记本电脑 A 的 IP 地址为 192.168.1.102 我在笔记本电脑 A 上安装了 Oracle 数据库。

我想从笔记本电脑 B 访问数据库。

第一次我尝试了 ping 命令,

在此处输入图像描述

然后我尝试使用以下代码从笔记本电脑 B 访问安装在笔记本电脑 A 上的数据库,

package test.remote.server;

import java.sql.*;
import javax.swing.JOptionPane;

public class TestRemoteServer
{
    public static void main(String args[])
    {
        try
        {
            String IPAddress="192.168.1.102";

            Class.forName("oracle.jdbc.driver.OracleDriver");
            System.out.println("Class Found !");

            Connection con=DriverManager.getConnection("jdbc:oracle:thin:@"+IPAddress+":1521:XE","system","manager");
            System.out.println("Connection Established !");
        }
        catch(Exception ex)
        {
            ex.printStackTrace();
        }
    }
}

如果我从笔记本电脑 A(安装数据库的地方)运行此代码,则输出为

Class Found !
Connection Established !

当我在笔记本电脑 B 上运行相同的代码时,出现如下错误

Class found !
java.sql.SQLException: Io exception: The Network Adapter could not establish the connection
    at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:112)   at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:112)
    at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:146)
    at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:255)
    at oracle.jdbc.driver.T4CConnection.logon(T4CConnection.java:387)
    at oracle.jdbc.driver.PhysicalConnection.<init>(PhysicalConnection.java:414)
    at oracle.jdbc.driver.T4CConnection.<init>(T4CConnection.java:165)
    at oracle.jdbc.driver.T4CDriverExtension.getConnection(T4CDriverExtension.java:35)
    at oracle.jdbc.driver.OracleDriver.connect(OracleDriver.java:801)
    at java.sql.DriverManager.getConnection(DriverManager.java:664)
    at java.sql.DriverManager.getConnection(DriverManager.java:247)
    at test.remote.server.TestRemoteServer.main(TestRemoteServer.java:20)

如何从笔记本电脑 B 访问安装在笔记本电脑 A 上的数据库?

标签: javaoraclejdbcip-address

解决方案


推荐阅读