首页 > 解决方案 > 如何使用java程序连接到远程机器上托管的数据库

问题描述

我正在尝试连接到托管在远程计算机中的数据库。我在本地有一个 java 项目,它必须连接到远程机器中的数据库以进行更新。我可以用来连接的java代码是什么。传统的连接代码不起作用,并显示以下错误。

import java.beans.Statement;
import java.sql.*;

public class connectTest {

    public static void main(String[] args) {

           try{  
                  //step1 load the driver class  
                  Class.forName("oracle.jdbc.driver.OracleDriver"); 
                 // Class.forName("oracle.jdbc.OracleDriver");

                  Connection con=DriverManager.getConnection(  
                               "jdbc:oracle:thin:@172.25.250.183:1521/aaadv4","boomerang","Telus2014"); 

                  Wrapper stmt=con.createStatement(); 

                  ResultSet rs=((java.sql.Statement) stmt).executeQuery("select * from ttv_dhcp_log.ACCT_MSG where SUB_IF='BACUPQXQOT01 PON 1/1/12/02:21.1.1'");  
                  while(rs.next())  
                  System.out.println(rs.getString(1)+"  "+rs.getString(2)+"  "+rs.getString(3));  

                  //step5 close the connection object  
                  con.close();  

                  }catch(Exception e){ System.out.println(e);}  

                  }
}

我希望它能够连接到数据库,但它失败并显示以下消息。

java.sql.SQLException:Io 异常:网络适配器无法建立连接

标签: javaoraclejdbc

解决方案


您可能需要验证几件事。

  1. 检查端口是否可以从机器访问。使用 telnet 之类的命令来检查。例如:telnet IPaddress 端口号

  2. 检查计算机中的防火墙,查看是否允许连接到端口范围。

  3. 检查 Oracle db 是主机的机器中的防火墙规则。
  4. 确保您的凭据正确。
Class.forName("oracle.jdbc.driver.OracleDriver");
Connection connection = null;
connection = DriverManager.getConnection("jdbc:oracle:thin:@172.25.250.183:1521:aaadv4","username","password");
connection.close();

使用上述。您的数据库连接 URL 包含 "/" 而不是 ":" 。此外,请确保您的 IP 地址可以从您的机器访问。如果你在同一个网络。它应该是。如果没有,请按照上面给出的调试步骤进行操作。


推荐阅读