繁体   English   中英

Java 11dbc与Oracle11g的连接错误

[英]error in Java jdbc connectivity with Oracle11g

请帮帮我。我已经在Windows 7 (32 bit)上安装了Oracle 11.2.0 g ,并且试图将数据库与jdk 1.7连接时出现错误提示

---exception
java.sql.SQLRecoverableException:IO Error: The Network Adapter could not establish the connection

ORACLE_HOME=E:\app\OraDhanya\product\11.2.0\dbhome_1

CLASSPATH=E:\app\OraDhanya\product\11.2.0\dbhome_1\jdbc\lib\*;C:\Program Files\Java\jdk1.7.0_03\bin

Path=E:\app\OraDhanya\product\11.2.0\dbhome_1\BIN;C:\Program Files\Java\jdk1.7.0_03\bin;

Global Database Name =orcldhamanoj.168.1.100
SID=orcldhaman

码:

try{
  DriverManager.registerDriver(new oracle.jdbc.driver.OracleDriver());
  System.out.println("Connecting to Database");

  Connection cn=DriverManager.getConnection("jdbc:oracle:thin:@orcldhamanoj:1521:orcldhaman","SCOTT","Tiger1");
  System.out.println("Connected to Database");

  Statement st=cn.createStatement();
  st.executeUpdate("create table User(UserID number(3), UserName varchar2(20));");
  System.out.println("Table Created");


  st.close();
  cn.close();
}
catch (SQLException e)
{ 
   System.out.println("exception"+e); 
}

该错误与JDBC无关,它是一个低级错误,告诉您网络层无法与运行Oracle服务器的计算机建立连接。 原因可能有多种:

  • 连接参数错误(IP /主机名/端口)。 这可能是最常见的原因。 使用ping检查ip /主机名,并使用“ telnet [ip / hostname]端口”命令检查端口;
  • 网络出现问题,例如电缆问题或网络设置错误。

DriverManager.getConnection方法中,确保指定运行Oracle的计算机的IP地址-如果当前计算机是localhost,则请指定它。

DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:orcldhaman","SCOTT","Tiger1");
                                           // ^^^^^^^^^ <-- Or this could be an IP address

我建议以下可能导致这种错误:

  1. (明显)IP地址不正确-尝试PING
  2. 端口未打开或被防火墙阻止-请尝试TELNET
  3. DB侦听器未运行或绑定到其他网络接口-再次,TELNET应该确认这一点(也使用Oracle客户端工具进行连接)
  4. 没有本地端口可用于传出连接(不太可能)-仅当您正在建立数千个连接或每分钟创建数百个新连接时。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM