我的系统中只安装了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是正确的,但我预计还有其他一些问题。