解决方案 »

  1.   

    打开Oracle的 listener.ora 文件:
    (oracle/oracle/product/10.2.0/db_1/network/admin/listener.ora)
     
    修改前:
    # listener.ora Network Configuration File: /app/oracle/oracle/product/10.2.0/db_1/network/admin/listener.ora
    # Generated by Oracle configuration tools.SID_LIST_LISTENER =
      (SID_LIST =
        (SID_DESC =
          (SID_NAME = PLSExtProc)
          (ORACLE_HOME = /app/oracle/oracle/product/10.2.0/db_1)
          (PROGRAM = extproc)
        )
      )LISTENER =
      (DESCRIPTION_LIST =
        (DESCRIPTION =
          (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1))
          (ADDRESS = (PROTOCOL = TCP)(HOST = suse10.site)(PORT = 1521))
        )
      )
    ------------------------------------------------------------------------------------------------------------------------------
    修改后:
    # listener.ora Network Configuration File: /app/oracle/oracle/product/10.2.0/db_1/network/admin/listener.ora
    # Generated by Oracle configuration tools.SID_LIST_LISTENER =
      (SID_LIST =
        (SID_DESC =
          (SID_NAME = PLSExtProc)
          (ORACLE_HOME = /app/oracle/oracle/product/10.2.0/db_1)
          (PROGRAM = extproc)
        )
        (SID_DESC =
          (GLOBAL_DBNAME = ORCL) 
          (ORACLE_HOME = /app/oracle/oracle/product/10.2.0/db_1)
          (SID_NAME = ORCL)
        )
      )LISTENER =
      (DESCRIPTION_LIST =
        (DESCRIPTION =
          (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1))
          (ADDRESS = (PROTOCOL = TCP)(HOST = suse10.site)(PORT = 1521))
        )
      )
     
    上面的红色文字是增加的内容。 (ORCL -- 是你的SID 数据库名)
      

  2.   

    http://anthon-lx.iteye.com/blog/811460
      

  3.   


    找到这个目前下。
    D:\oraclexe\app\oracle\product\11.2.0\server\network\ADMIN
    用记事本打开 listener.ora 文件;文件如下:
    SID_LIST_LISTENER =
      (SID_LIST =
        (SID_DESC =
          (SID_NAME = PLSExtProc)
          (ORACLE_HOME = D:\oraclexe\app\oracle\product\11.2.0\server)
          (PROGRAM = extproc)
        )
        (SID_DESC =
          (SID_NAME = CLRExtProc)
          (ORACLE_HOME = D:\oraclexe\app\oracle\product\11.2.0\server)
          (PROGRAM = extproc)
        )
      )LISTENER =
      (DESCRIPTION_LIST =
        (DESCRIPTION =
          (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1))
          (ADDRESS = (PROTOCOL = TCP)(HOST = 0HRTOR4KLCB9KTG)(PORT = 1521))
        )
      )DEFAULT_SERVICE_LISTENER = (XE)最后我在 eclipse 把SID 修改成最后那两位数:XE
    代码如下:
    public class testjdbc {
    public static void main(String[] args) throws Exception {
    Class.forName("oracle.jdbc.OracleDriver");
    String url = "jdbc:oracle:thin:@localhost:1521:xe";
    String user = "XXX";
    String password = "XXX";
    Connection con=DriverManager.getConnection(url, user, password);
    System.out.println(con);
    }
    }最后运行结果:oracle.jdbc.driver.T4CConnection@1813fac
      

  4.   

    连接数据库的时候的SID 写错了,改成自己的SID就能连接了,我的是这么解决的