我的oracle10g是在没有连接互联网的时候装的,
在没连接互联网的时候,启动OracleServiceORCL和OracleOraDb10g_home1TNSListener服务之后,数据库没有问题;
但是连接网络之后,开机,启动两个服务,oracle就会抛出
Exception in thread "main" java.sql.SQLException: Io 异常: Connection refused(DESCRIPTION=(TMP=)(VSNNUM=168821248)(ERR=12505)(ERROR_STACK=(ERROR=(CODE=12505)(EMFI=4))))的错误!
请教各位大虾,这个问题如何解决啊??

解决方案 »

  1.   

    奥巴玛的哥哥:
    你装oralce10g的时候,有没有联网啊?
    oracle10g装了之后,ip地址变化,连接是不是要被拒绝?
      

  2.   

    最近,我在使用jdbc连接oracle 9i数据库时,发生如下错误:
    Error occured while trying to connect to the database
    Error connecting to database: (using class racle.jdbc.driver.OracleDriver)
    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:
    192.168.1.1:1521:bbcd
    ----解决办法,经查找,以上的bbcd并不是sid_name,而是SERVICE_NAME
    改用sid_name后,运行正常。
    2006.07.17
    服务器上的相关name:
    listener.ora: GLOBAL_NAME,SID_NAME
    init.ora         :db_name     附:有关资料
    关于ORACLE的ora-12505报错以及连接问题的问答资料
    1:配置JDBC Connection Pool时出错
    原文:http://dev2dev.bea.com.cn/bbs/thread.jspa?forumID=123&threadID=8769
    问题描述:我安装weblogic8.1后,准备连接oracle9i,创建JDBC Connection Pool时出错,错误提示:
    Io 异常: Connection refused(DESCRIPTION=(TMP=)(VSNNUM=153093120)(ERR=12505)(ERROR_STACK=(ERROR=(CODE=12505)(EMFI=4))))
    Driver Classname: oracle.jdbc.driver.OracleDriver
    URL:jdbc:oracle:thin:@145.32.16.1:1521:zzlt
      
    oracle的日志:
    TNS-12505: TNS:listener could not resolve SID given in connect descriptor
    sql plus使用都很正常。
    ------------------ 
    解答1:我也遇到这个问题,但是幸运的是我刚刚解决。
          错误码一样。你看看如下几个问题:
         1、zzlt 是你的数据库名还是数据库的实例名。
          比如我在SQL PLUS里面连接的是finance数据库实例,一切正常,但是Oracle的Url是 finance.ora,那么在端口后面就应该写ora而不是finance.
         2、到你的Oracle数据上去看看,修改一下一个配置文件,具体文件我忘了,反正我把里面的ora全部换成了IP地址,然后通过,现在应用良好。
    ------------ 
    解答2:
               在 ORACLE 里用tnsping   看看listener启动了吗?
               再看看listener config file 里面有没有写上你的SID
    解答3:
             到服务器上看一下,listener.ora
    SID_LIST_LISTENER =
         (SID_DESC =
           (GLOBAL_DBNAME = oracle9i)
           (ORACLE_HOME = /opt/oracle9i/product/9.2.0)
           (SID_NAME = ORCL)
         )
       )
    你的url里面可能用的是上面的GLOBAL_DBNAME 的值,就是用的是SERVICE_NAME, 替换成SID_NAME后面的值试试看
    你可以用sqlplus登陆到服务器
    $sqlplus / as sysdba
    SQL> select * from v$instance;
    看一下你的机器正在跑的SID的名字是什么
      

  3.   

    http://hi.baidu.com/injava/blog/item/44c4154f54a03834afc3ab90.html
      

  4.   

    是因为机器的IP变化了,
    试试
    1、控制面板--->添加硬件--->下一步--->是,我已经连接了此硬件--->添加新硬件--->安装我手动从列表选择的硬件-->网络适配器---> microsoft---->Microsoft loopback Adapter--->下一步---->安装完成。 
    2、 在hosts文件中添加 “10.10.10.10 机器名”(这个文件,你可以通过文件搜索查看到)。 
    3、配置新加的网卡的IP为:10.10.10.10。 
    4、重新配置Net Manager(包括诊听的IP地址等)。 
    5、重新启动各项服务。
      

  5.   


    是会被拒绝的.如果你的SERVER,CLIENT均在一台机器上,监听的IP可以固定为127.0.0.1. 无论是否联网,均有效.
      

  6.   

    第一次发帖子,好多人关注这个问题,谢谢关心这个问题的人;
    不知道oracle设计人员怎么设计的,oracle需要用户根据环境改不少东西;
    感觉没有sqlserver好用!
    我的问题解决了,不过我是重装的oracle!
    就好了!:-)
    o(∩_∩)o...
    再次谢谢各位前辈的关心!