解决方案 »

  1.   

    打印一下SQLException e的信息看看 什么错误,另外进入调试状态看看那一步出错
      

  2.   

    你 jso得 OperateOracle  getConnection()  得先获取 Connection()  
      

  3.   


    错误  就是说连接不上数据库啊!调用 insert()方法的时候  里面第一步 就是 getConnection()这个就是获取数据库连接的方法啊。第一步就挂了。。
      

  4.   


    单独 测试 OperateOracle 一定问题没有  我还进行 插入 查询 一系列的操作 没有任何问题  但是 放到JSP数据库都连接不上
      

  5.   

    请问这个ip 10.135.108.104是服务器的ip? 如果是自己电脑的话还是用localhost或者127.0.0.1 如果是局域网内的机器用局域网的ip。 如果用外网ip 请检查防火墙是否打开。关闭防火墙试试
      

  6.   

    数据库连接失败oracle.jdbc.driver.OracleDriver
    三月 21, 2014 9:17:19 上午 org.apache.catalina.core.StandardWrapperValve invoke
    严重: Servlet.service() for servlet [jsp] in context with path [/StudentMang] threw exception [java.lang.NullPointerException] with root cause
    java.lang.NullPointerException
    at dao.OperateOracle.query(OperateOracle.java:81)
    at org.apache.jsp.registadd_jsp._jspService(registadd_jsp.java:84)
    at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:722)
    at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:432)
    at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:390)
    at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:334)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:722)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:225)
    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:169)
    at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:472)
    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:168)
    at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:98)
    at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:927)
    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)
    at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:407)
    at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:999)
    at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:565)
    at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:307)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
    at java.lang.Thread.run(Unknown Source)
      

  7.   

    是自己电脑的IP   刚开始用的是 localhost 的  但是 测试连接不上数据库 我改成本机IP 连接上的! 有一点 我用的 是 云系统 不知道会不会是这个原因!
      

  8.   

    是自己电脑的IP   刚开始用的是 localhost 的  但是 测试连接不上数据库 我改成本机IP 连接上的! 有一点 我用的 是 云系统 不知道会不会是这个原因!
    数据库也在你电脑上? 如果用路由器连接的,可能还需要再路由器中设置端口映射,把1521端口绑定到数据库所在系统的ip试试。还有你用的什么云系统?没用过呀
      

  9.   

    原因很简单:在java代码中可以连接到数据库,查询,添加等操作
    但是jsp页面的代码却无法连接到数据库中,因为在调用DriverManager的getConnection方法之前,
    要保证相应的Driver类已经被加载到 jvm中,
    并且完成了类的初始化工作
    可以
    //声明使用oracle驱动
    Class.forName("oracle.jdbc.driver.OracleDriver");
    或者
    oracle.jdbc.driver.OracleDriver driver = new oracle.jdbc.driver.OracleDriver(); 都可以的
    给分来吧
      

  10.   

     /* 获取数据库连接的函数*/    
        public static Connection getConnection() {    
           
            try {    
                Class.forName("oracle.jdbc.driver.OracleDriver");//这里就是 加载oracle数据驱动     的啊
                    
                conn = DriverManager.getConnection(url, user, password);// 创建数据连接    
                    
            } catch (Exception e) {    
                e.printStackTrace();
             //System.out.println("数据库连接失败" + e.getMessage());    
            }    
            return conn; //返回所建立的数据库连接     
        }
     public static void insert(String sql) {//这个是做插入操作的函数啊    
        
            conn = getConnection(); // 这里在调用获取数据库的连接的啊  
        
            try {     
                st = (Statement)conn.createStatement();    // 创建用于执行静态sql语句的Statement对象     
                    
                int count = st.executeUpdate(sql);  // 执行插入操作的sql语句,并返回插入数据的个数     
                    
                System.out.println("向t1表中插入 " + count + " 条数据!!"); //输出插入操作的处理结果     
                    
                conn.close();   //关闭数据库连接     
                    
            } catch (SQLException e) {    
                System.out.println("插入数据失败" + e.getMessage());    
            }    
        }