为什么 jdbc 连接 oracle 数据库 时
 会发生这样的错误!!!!!    数据库正常,java程序正常, 而且为了证明不是java的问题,还特地在tomcat中用jsp测试了数据库连接,
但是 还是出现同样的问题!! 请问这到底是怎么回事?
重建了数据库还是这样,而且数据库操作一切正常啊!!!
            
 这是我测试数据库在jsp中的代码
 
       <%
       Class.forName("oracle.jdbc.driver.OracleDriver");
   String DBURL="jdbc:oracle:thin:@localhost:1521:zhouxiaosid";
   String DBUSER="scott";
   String DBPASSWORD="tiger";
   Connection conn=DriverManager.getConnection(DBURL,DBUSER,DBPASSWORD);
       %>      而在java工程里测试数据库连接的代码,加了try catch ,语法并没有错,但是不约而同 ,都出现这个问题!!  -----------------》》》》》
 
     
    org.apache.jasper.JasperException: Listener refused the connection with the following error:
ORA-12505, TNS:listener does not currently know of SID given in connect descriptor
The Connection descriptor used by the client was:
localhost:1521:zhouxiaosid

解决方案 »

  1.   

    改为jdbc:oracle:thin:@//localhost:1521:zhouxiaosid试一下
      

  2.   

    还有一种可能是你装了两个oracle的数据库,而他们的端口是一样的
      

  3.   

         多谢各位解答,不过问题我有了一些头绪,
     
    问题应该是数据库的问题了,我可以启动的进程:
    lsnrctl start ;
    net start oracleservicezhouxiaosid;
    net start oracledbconsolezhouxiaosid;
    net start oraclecsservice;
    net start oracleoradb10g_home1isql*plus;
    依次在cmd中运行了上面命令,一切正常,但是当打开
    http://localhost:5560/isqlplus   后,
    当我登陆时,密码和数据库描述sid都正确填入,还是出现同样的错误,根据网上搜索,我差了有关参数,数据库标识名根本就没有错,数据库名是zhouxiao,标志名是zhouxiaosid,
    所以问题肯定出现在监听上面,这属于数据库的知识了吧? 该怎么办不然以后我的jdbc都写不成了,!!!!!
      

  4.   

        我不像重装oracle啊,要死人了,