java使用JDBC连接oracle数据库总是出错java io 异常 : the newtwork adapter could not establish

java使用JDBC连接oracle数据库总是出错java io 异常 : the newtwork adapter  could not establish the connection


package staticUtil.db;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;

public class Database {

static {
try {
// 1、加载oracle驱动程序
Class.forName("oracle.jdbc.OracleDriver");
} catch (ClassNotFoundException e) {
e.printStackTrace();

}

}

private static String url = "jdbc:oracle:thin:@99.1.1.32:1521:ORCL";
private static String user = "nmc";
private static String password = "123456";

public static Connection getConnection(){
Connection connection = null;
try {
// 2、获取连接
connection = DriverManager.getConnection(url, user, password);
// System.out.println("连接成功");
} catch (SQLException e) {
e.printStackTrace();
// System.out.println("连接数据库失败!!");
}
return connection;
}

}

各方面检查都没有错,到底什么原因呢?

9个回答

[quote]是因为要不停地反复的访问数据库,所以没有关闭。

如果中间网络断了一下,如何实现让其不停地尝试连接数据库,直到连接成功。

谢谢解答。 [/quote]

如果想要不停反复访问数据库,也不需要用静态的方法
就算你用了静态的,也要关闭啊。。。 :?

好吧,既然你用了静态的,怎么又把connection定义成非静态的还是局部变量

[code="java"]Connection connection = null; //删除掉这行

//在getConnection()方法外面加上
private static Connection connection;

//方法里try之前先判断
if(connection==null){
try {
... ... ...
return connection;
} //如果当前已经有连接就返回当前的,没有再连新的[/code]

表示很无语

没有建立Oracle的网络监听啊!

DRIVER是这个:oracle.jdbc.driver.OracleDriver
不是:oracle.jdbc.OracleDriver

楼上的,那两个Driver一样用,好像只是简单的extends,
楼主请
telnet 99.1.1.32 1521
很怀疑你的端口根本就没开

不敢妄下断言!

这是最外层的Exception
把下面的错误信息发出来,才知道是你是因为监听,还是别的问题

话说,为啥你connection要用static,用完还不关
就算你用连接池,也不需要静态啊,连接池一建立人家就给你创建好一定数目的con,如果大量数据访问。。。 :?

是不是有防火墙?
看看他们怎么处理的
http://yang8787jie-126-com.iteye.com/blog/458249

和oracle的链接不对,不是driver不对,就是oracle的配置或者服务不对,还有可能是链接的问题吧。就这样

[quote]静态的那个只是方法吧,获取一个连接, connection不是静态的啊 [/quote]

事实是检验的真理
不要自己妄断,用我的方法运行看看就知道了

还有你所谓的方法是静态的
请问你的方法返回的是什么???不是一个[color=red]static Connection[/color]么???
不会再回复了

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问