日期:2014-05-18  浏览次数:20605 次

===============jsp连接oracle超头痛问题
通过以下代码,在单位里能正常连接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装在另一台服务器上




------解决方案--------------------
你打开个命令窗口输入:netstat -an看1521端口打开没,没打开就是有服务没起动.
------解决方案--------------------
这可能是权限问题。。你用默认的SYSTEM进一下。把上面的用户名改成SYSTEM看一下。
可能是你的SYSTEM没有给权限给rdl这个吧
------解决方案--------------------
你可以试一下不要用IP和计算机名来连接
当然还有端口没有打开,也可以是端口被你的防火墙之类的软件给禁用了
还有就是你的防火墙禁止了网络服务
检查网络是否联通,再用TNSPING测试ORACLE服务是否正常
------解决方案--------------------
你可以试一下不要用IP连接,而用计算机名来连接
------解决方案--------------------
本地机用ip有时候就有问题,用机器名吧