我安装了ORACLE 10G 数据库,安装应该没有问题,数据库也创建了。在SQL plus操作界面下,创建了表。但运行JAVA程序连接数据库时,发生如下错误:访问数据库错误!java.sql.SQLException: Io 异常: The Network Adapter could not establish the connection。我网上查了下说有3种可能:
1。IP错误。 
在设置URL时错误,例如:jdbc:oracle:thin:@192.168.0.36:1521:sharp 
数据库服务器不正确:ping 服务器IP是否正确。不正确,将URL更改为正确 
端口号错误:一般不会错误。 
进行一下操作:在DOS上键入sqlplus,检查oracle是否开启 
一却正常,执行下面第2步。 
2。防火墙 
如果机器上安装有放火墙,可能是服务器端口号屏蔽而造成的。关闭防火墙后,尝试重新连接。 
仍然不行,执行第3步。 
3。数据库监听未启动 修改PC上注册表中的ImagePath值。 
我下面以现在主流的数据库ORACLE为例 
重新手动启动数据库监听: 
1:开始 → 运行→ 输入CMD→  进入DOS命令提示界面 
d:>lsnrctl 
LSNRCTL> status 
或者 
LSNRCTL> start 
!!!我也试过了,还是没用!!!!!
希望哪位高手能帮我解决下啊~~~~~~~~~谢谢啦!!!!!!!!
急啊,毕业设计要用的!!!
以下是程序:
import java.sql.*;
public class OracleDemo {
  public static void main(String[] args){
 Connection conn;
 Statement stmt;
 ResultSet rs;
 try{
  Class.forName("oracle.jdbc.driver.OracleDriver");
  }
 catch(ClassNotFoundException e){
  System.out.println("加载驱动程序错误!"+e);
  }
 try{
 String url="jdbc:oracle:thin:@localhost:1521:oracl";//1521为Oracle提供服务的端口
 String user="system";//默认用户名
 String password="iop";
   
 conn=DriverManager.getConnection(url,user,password);
   
 stmt=conn.createStatement();//发送SQL语句
   
         rs=stmt.executeQuery("SELECT * FROM account order by account_id");//处理查询结果
   
 while(rs.next())//循环输出结果集的每一行
    {
   
  System.out.print(rs.getString(1)+"  ");
  System.out.print(rs.getString(2)+"  ");
  System.out.print(rs.getString(3)+"  ");
  System.out.println(rs.getString(4));
    }
     rs.close();//关闭 ResultSet
     stmt.close();//关闭 Statement
     conn.close();//关闭Connection
    }
 catch(SQLException e)
    {
  System.out.println("访问数据库错误!"+e);
    }
    
  }
 }

解决方案 »

  1.   

    照楼主的意思是SQL PLUS可以连接数据库,但是用JAVA就连接不上。是不是驱动不对?
      

  2.   


    string url="jdbc:oracle:thin:@localhost:1521:oracl";//1521为Oracle提供服务的端口楼主把localhost换成你的ip地址试一下
      

  3.   

    参考一下这个帖子吧,
    http://topic.csdn.net/u/20070521/14/f109a285-64b1-4196-83ca-e73e63297422.html
      

  4.   

    先把ORACLE 10 G的 TNS 配置一下;
    应该是这个问题;
      

  5.   

    哦,兄弟,对了,还有一个你需要考虑的,就是你要先加一个  CLASSES12。JAR 这个包;
    修改下那个连接语句为:
    jdbc:oracle:thin:@localhost:1521:oracl,用户名,密码;
      

  6.   

    看看你的服务里面,有个OracleService××××,把你的oracl改成××××。默认是orcl,不是oracl。怀疑这里的笔误造成连不上。
      

  7.   

    访问数据库错误!java.sql.SQLException: Io 异常: The Network Adapter could not establish the connection
    以上是错误信息。我ojdbc14.jar和CLASSES12。JAR 都试了,没用。是不是我的驱动放错地方了。我的驱动是放在‘C:\Program Files\Java\jre6\lib\ext’的我是把默认的实例数据库名‘orcl’改成了‘oracl’把localhost改成我的IP地址还是出现同样的错误提示!
      

  8.   

    谢谢大家的热心帮忙啊!!!!!!
    刚才看了xiaoheixiaobai 给我的帖子http://topic.csdn.net/u/20070521/14/f109a285-64b1-4196-83ca-e73e63297422.html  发现大概是10g 的IP地址好像只能用192开头的,改了下酒运行成功了!!!!
    再次谢谢大家的帮忙!!!!!!帮助了我这个Oracle小白!!!
    谢谢!!!!