|
阅读:1109回复:6
这个问题挂在CSDN三天没人理。。。郁闷~~ORCALE的问题~~帮个忙~~
两台机器数据库一样,Oracle安装也都是直接默认安装(新手-_-#)。
测试代码如下: import java.sql.*; public class OracleTest { /** * @param args */ public static void main(String[] args) { // 测试连接 String driver = "oracle.jdbc.driver.OracleDriver"; String url = "jdbc:oracle:thin:@*.*.*.*:1521:DISDATABASE";//IP保密之~ String user = "SYSTEM"; String password = "******";//密码就不写了。。。呵呵 try { Class.forName(driver); Connection conn = DriverManager.getConnection(url, user, password); if(!conn.isClosed()){ System.out.println("数据库连接成功!"); } conn.close(); } catch(ClassNotFoundException e) { System.out.println("找不到驱动程序"); e.printStackTrace(); } catch(SQLException e) { e.printStackTrace(); } catch(Exception e){ e.printStackTrace(); } } } 如果是连接本地机器,可以连接成功,换IP为另一台机器的时候就不行了(是不是没有启动什么listener?不懂。。。) 出现下面的异常: java.sql.SQLException: Io 异常: The Network Adapter could not establish the connection at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:124) at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:161) at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:273) at oracle.jdbc.driver.T4CConnection.logon(T4CConnection.java:318) at oracle.jdbc.driver.PhysicalConnection.<init>(PhysicalConnection.java:343) at oracle.jdbc.driver.T4CConnection.<init>(T4CConnection.java:147) at oracle.jdbc.driver.T4CDriverExtension.getConnection(T4CDriverExtension.java:31) at oracle.jdbc.driver.OracleDriver.connect(OracleDriver.java:545) at java.sql.DriverManager.getConnection(DriverManager.java:512) at java.sql.DriverManager.getConnection(DriverManager.java:171) at gojyo.jdbc.OracleTest.main(OracleTest.java:24) 在CMD下用sqlplus连接时出现下列错误: sqlplus SYSTEM/******@10.64.65.180:1521:DISDATABASE ERROR: ORA-12514: TNS:listener does not currently know of service requested in connect descriptor 请问,怎么解决,非常感谢。 |
|
|
|
1C#
发布于:2005-07-19 10:10
Re:这个问题挂在CSDN三天没人理。。。郁闷~~ORCALE的问题~~帮个忙~~
首先,你的程序是有问题的
虽然在你的本机测试没有问题,但是如果conn在建立连接不成功的时候,就会出现空指针的错误 应该改成 if(conn!=null){ System,out.println("success!"); } 其次,看出错信息,JVM抛出了Network Adapter 不能建立连接,这显然是你在设置网络的时候出了问题,去查查吧; 偶rpwt说不清楚,你要是再不会的话,只能周末见面再说了嘎嘎:) |
|
|
|
2C#
发布于:2005-07-19 18:41
Re:这个问题挂在CSDN三天没人理。。。郁闷~~ORCALE的问题~~帮个忙~~
sqlnet.ora
# sqlnet.ora Network Configuration File: D:\oracle\product\10.1.0\Db_1\network\admin\sqlnet.ora # Generated by Oracle configuration tools. #SQLNET.AUTHENTICATION_SERVICES= (NTS) SQLNET.AUTHENTICATION_SERVICES= (NTS) NAMES.DIRECTORY_PATH= (TNSNAMES, EZCONNECT) listener.ora # listener.ora Network Configuration File: D:\oracle\product\10.1.0\Db_1\NETWORK\ADMIN\listener.ora
# Generated by Oracle configuration tools.
SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(PROGRAM = extproc)
(SID_NAME = PLSExtProc)
(ORACLE_HOME = D:\oracle\product\10.1.0\Db_1)
)
(SID_DESC =
(GLOBAL_DBNAME = DISDATABASE)
(SID_NAME = DISDATABASE)
)
)
LISTENER =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = bigc-xeries-46)(PORT = 1521))
)
tnsnames.ora # tnsnames.ora Network Configuration File: D:\oracle\product\10.1.0\Db_1\network\admin\tnsnames.ora
# Generated by Oracle configuration tools.
DISDATABASE =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = bigc-xeries-46)(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = DISDATABASE)
)
)
EXTPROC_CONNECTION_DATA =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC))
)
(CONNECT_DATA =
(SID = PLSExtProc)
(PRESENTATION = RO)
)
) |
|
|
|
3C#
发布于:2005-07-19 18:42
Re:这个问题挂在CSDN三天没人理。。。郁闷~~ORCALE的问题~~帮个忙~~
在服务器上用 NCA 测试可以~~~
下午成功过一次,不知道后来又怎么搞的了。。。 现在又不行~~ |
|
|
|
4C#
发布于:2005-07-19 18:43
Re:这个问题挂在CSDN三天没人理。。。郁闷~~ORCALE的问题~~帮个忙~~
java.sql.SQLException: Io 异常: The Network Adapter could not establish the connection at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:124) at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:161) at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:273) at oracle.jdbc.driver.T4CConnection.logon(T4CConnection.java:318) at oracle.jdbc.driver.PhysicalConnection.<init>(PhysicalConnection.java:343) at oracle.jdbc.driver.T4CConnection.<init>(T4CConnection.java:147) at oracle.jdbc.driver.T4CDriverExtension.getConnection(T4CDriverExtension.java:31) at oracle.jdbc.driver.OracleDriver.connect(OracleDriver.java:545) at java.sql.DriverManager.getConnection(DriverManager.java:512) at java.sql.DriverManager.getConnection(DriverManager.java:171) at gojyo.jdbc.OracleTest.main(OracleTest.java:24) |
|
|
|
5C#
发布于:2005-07-19 18:44
Re:这个问题挂在CSDN三天没人理。。。郁闷~~ORCALE的问题~~帮个忙~~
数据库名字是 DISDATABASE |
|
|
|
6C#
发布于:2005-07-21 11:22
Re:这个问题挂在CSDN三天没人理。。。郁闷~~ORCALE的问题~~帮个忙~~
居然是因为防火墙。。。明明开了1521... |
|
|