第一个问题:
把:private String url = "jdbc:oracle:thin:@Yaxin-PC:1521:orcl";里面的Yanxin-PC改成localhost,试试看?
第二个问题:
你确定你的oracle服务和监听服务都正常启动了吗?
如果是,请看下:C:\oraclexe\app\oracle\product\1020\server\NETWORK\ADMIN下面的:listenerora和tnsnamesora这两个文件(用记事本打开)中的:HOST的值是不是您的PC上的计算机名,你的就是:Yaxin-PC !如果不是请全部改成您的计算机名。
listenerora和tnsnamesora这两个文件找不到的话请在你安装oracle的分区下搜索,一定有的。
8i以前是sid,以后就service_name和sid都可以了,而且同过oracle的jdbc的thin协议方式,他根本就不会使用你的tnsnames
sid是启动实例必需的环境变量,service_name你可以通过oracle查询,这两个你都可以试试
你的问题我觉得跟使用这个没关系,你可以考虑换换不同版本的驱动试试
补充一下啊,刚刚安装SqlServer的时候也发现这个问题了,在执行下面步骤的时候少了一条,就是安装sp3补丁,而且安装sp3补丁的时候要选择混合验证模式 就是要输入sa密码的那个。这样就ok了。方法和sp4补丁一样,就不赘述了。
程序执行到这出错:
con=DriverManagergetConnection("jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=student","sa","chenjiang");
由于获取连接失败导致后面的结果集为空,关闭结果集时出现空指针异常。
由于不知道你开发的环境配置的是否正确,给几点建议。
1> sp4补丁是否打好?(我估计多半是这个原因);
解决办法:
1 下载个SP4补丁包,下载地址:
>
楼主使用完了之后,记得关闭连接,conclose()调一下,要不你的连接一直在那里占用oracle可用连接数,要等30分钟之后才会被oracle回收。
你这里rs也要关闭,同一个连接打开的游标过多。
可以这样:
con = new DBAccess();
while(){
rs = conexecuteQuery(sql1);
rsclose();
rs = conexecuteQuery(sql2);
rsclose();
}
。。。
conclose();
-------------------
不看完整代码很难回答。
你的conclose()不要写在循环里面。
以上就是关于java.sql.SQLException: Io 异常: The Network Adapter could not establish the connection解决方法全部的内容,包括:java.sql.SQLException: Io 异常: The Network Adapter could not establish the connection解决方法、简单JDBC连接数据库 异常!!100分!、java.sql.SQLException等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)