0

我的系统中只安装了 Oracle 8i,工作正常。我可以使用 driverManager 使用 jdbc 成功连接到它,但是当我使用 OracleDataSource 连接到它时会出现问题。它说 Oracle 不可用。我想我在提供 sid 时做错了什么。

我的部分代码 -

       OracleDataSource ds = new OracleDataSource();
        ds.setDriverType("thin");
        ds.setServerName("localhost");
        ds.setPortNumber(1521);
        ds.setDatabaseName("ORCL0"); // sid
        ds.setUser("scott");
        ds.setPassword("tiger");
       Connection conn = ds.getConnection();

tnsnames.ora 条目(它的一部分) -

 ORACLE =
   (DESCRIPTION =
    (ADDRESS_LIST =
     (ADDRESS = (PROTOCOL = TCP)(HOST = guddus-comp)(PORT = 1521))
   )
     (CONNECT_DATA =
     (SERVICE_NAME = oracle)
  )
 )

listener.ora 条目(它的一部分) -

SID_LIST_LISTENER =
(SID_LIST =
  (SID_DESC =
    (SID_NAME = PLSExtProc)
    (ORACLE_HOME = C:\oracle\ora92)
    (PROGRAM = extproc)
  )
  (SID_DESC =
    (GLOBAL_DBNAME = oracle)
    (ORACLE_HOME = C:\oracle\ora92)
    (SID_NAME = ORCL0)
  )
  (SID_DESC =
  (GLOBAL_DBNAME = dbabhi)
  (ORACLE_HOME = C:\oracle\ora92)
  (SID_NAME = DBABHI)
  )
)

在我的代码中,我尝试了 oracle,orcl 也代替了 ORCL0,但是除了 ORCL0 之外的任何东西都会给出 Io 异常:连接被拒绝,而提供 ORCL0 会给出异常 - ORA-01034:ORACLE 不可用......所以我猜 ORCL0 是正确的,但是我预计会有其他问题。

4

0 回答 0