通过以下代码,在单位里能正常连接oracle服务器,并且输出相关表的记录<%
Class.forName("oracle.jdbc.driver.OracleDriver").newInstance();    
String url="jdbc:oracle:thin:@10.38.58.83:1521:LYMCCADMIN"; 
//LYMCCADMIN为你的数据库的SID 
String user="rdl"; 
String password="rdl"; 
Connection conn= DriverManager.getConnection(url,user,password);    
Statement stmt=conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);    
String sql="select * from testrdl";    
ResultSet rs=stmt.executeQuery(sql);    
while(rs.next()) {%>    
您的第一个字段内容为:<%=rs.getString("username")%>    
 <br>
<%
}
%>    可是同样的代码,在家里却不行,不知为什么,执行后,却错误提示:
javax.servlet.ServletException: Io 异常: The Network Adapter could not establish the connection
org.apache.jasper.runtime.PageContextImpl.doHandlePageException(PageContextImpl.java:848)
org.apache.jasper.runtime.PageContextImpl.handlePageException(PageContextImpl.java:781)
org.apache.jsp.testoracle.index_jsp._jspService(org.apache.jsp.testoracle.index_jsp:96)
我把家里的代码贴上来:<%
Class.forName("oracle.jdbc.driver.OracleDriver").newInstance();    
String url="jdbc:oracle:thin:@localhost:1521:LYMCC"; 
//LYMCC为家里数据库的SID 
String user="rdl"; 
String password="rdl"; 
Connection conn= DriverManager.getConnection(url,user,password);    
Statement stmt=conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);    
String sql="select * from testrdl";    
ResultSet rs=stmt.executeQuery(sql);    
while(rs.next()) {%>    
您的第一个字段内容为:<%=rs.getString("username")%>    
 <br>
<%
}
%>    家里电脑装了oracle服务器版,tomcat,jdk1.5.0
单位电脑装了tomcat,jdk 1.6 ,oracle装在另一台服务器上

解决方案 »

  1.   

    一开始以为localhost这样写会错,所以把家里电脑的网卡设了一个ip,192.168.1.1 ,发现还是不行,真奇怪了。 家里电脑装了pl/sql,能正常连接oracle数据库的。
      

  2.   

    你打开个命令窗口输入:netstat -an看1521端口打开没,没打开就是有服务没起动.
      

  3.   

    这可能是权限问题。。你用默认的SYSTEM进一下。把上面的用户名改成SYSTEM看一下。
    可能是你的SYSTEM没有给权限给rdl这个吧
      

  4.   

    system权限如何给rdl,这家里的oracle设置和表的配置和单位里一样的,就是不知为什么?先谢谢给位了
      

  5.   

    你可以试一下不要用IP和计算机名来连接
    当然还有端口没有打开,也可以是端口被你的防火墙之类的软件给禁用了
    还有就是你的防火墙禁止了网络服务
    检查网络是否联通,再用TNSPING测试ORACLE服务是否正常
      

  6.   

    试过计算机名,一样的。还是这样的错误:
    javax.servlet.ServletException: Io 异常: The Network Adapter could not establish the connection后来我在单位试了一下,把单位机器上的代码,里面的ip地址换一个错误的,比如255.222.222.222,执行后,他同样提示:
    javax.servlet.ServletException: Io 异常: The Network Adapter could not establish the connection则说明问题还是出在,ip地址上
      

  7.   

    谢谢各位,终于搞定了!确实把Ip改成机器名,不但能行,而且访问oracel的速度大大的提高了