java.sql.SQLException: Io 异常: The Network Adapter could not establish the connection
at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:111)
at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:145)
at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:254)
at oracle.jdbc.driver.T4CConnection.logon(T4CConnection.java:386)
at oracle.jdbc.driver.PhysicalConnection.<init>(PhysicalConnection.java:413)
at oracle.jdbc.driver.T4CConnection.<init>(T4CConnection.java:164)
at oracle.jdbc.driver.T4CDriverExtension.getConnection(T4CDriverExtension.java:34)
at oracle.jdbc.driver.OracleDriver.connect(OracleDriver.java:752)
at java.sql.DriverManager.getConnection(Unknown Source)
at java.sql.DriverManager.getConnection(Unknown Source)
at tableDao.JdbcUtils.getConnection(JdbcUtils.java:30)
at tableDaoImpl.UserDaoImpl.addUser(UserDaoImpl.java:18)
at tableDao.TableDaoTest.main(TableDaoTest.java:16)
at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:111)
at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:145)
at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:254)
at oracle.jdbc.driver.T4CConnection.logon(T4CConnection.java:386)
at oracle.jdbc.driver.PhysicalConnection.<init>(PhysicalConnection.java:413)
at oracle.jdbc.driver.T4CConnection.<init>(T4CConnection.java:164)
at oracle.jdbc.driver.T4CDriverExtension.getConnection(T4CDriverExtension.java:34)
at oracle.jdbc.driver.OracleDriver.connect(OracleDriver.java:752)
at java.sql.DriverManager.getConnection(Unknown Source)
at java.sql.DriverManager.getConnection(Unknown Source)
at tableDao.JdbcUtils.getConnection(JdbcUtils.java:30)
at tableDaoImpl.UserDaoImpl.addUser(UserDaoImpl.java:18)
at tableDao.TableDaoTest.main(TableDaoTest.java:16)
连接适配异常,
想起来了 我也 遇到过这种情况
这是访问数据库连接不上 而出现的
我以前写的 连接数据库都对 就是不间断的(估计是数据库负载过的或者是连接数过多造成) 获得不到连接
我也没有好办法
当时突发奇想 就使劲的获得,因为一天就获得一次连接读取数据库的东西 也没有多次就
用了一个while循环30分钟内获得连接 直到获得连接为止 这个办法其实不好但是总算是能获得连接了
你这种情况我真的遇见过(是在前一家公司)
是就是这个事,情况就是这个情况 我也没有什么好说的
下面代码是我用的循环获得的数据库连接 我以前用这个是连接上的 不过最好不要用
还要从你们项目中着手 估计是什么地方连接没有关 public static synchronized Connection getConnection() {
boolean con = true;
long t1=System.currentTimeMillis();
long t2=0;
while (con) {
try {
//如果访问超过30分钟就自动放弃并终止
if (t2-t1>1800000) {
//设置发送信息
SendMail sm=new SendMail();
System.out.println("get connection fail!");
System.exit(-1);
}
con = false;
conn = DriverManager.getConnection("proxool.app");
} catch (SQLException e) {
// e.printStackTrace();
con = true;
t2=System.currentTimeMillis();
}
}
if (conn != null) {
} else {
System.out.println("connection fail!!!");
}
return conn;
}public static synchronized void closeConn() {
if (conn != null) {
try {
// System.out.println("connection is closed");
conn.close();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
conn = null;
}
}
还有 oracle的服务开了么