<%@   page   contentType="text/html;   charset=gb2312"   language="java"   import="java.sql.*"   errorPage=""   %>   
  <!DOCTYPE   HTML   PUBLIC   "-//W3C//DTD   HTML   4.01   Transitional//EN"   "http://www.w3.org/TR/html4/loose.dtd">   
  <html>   
  <head>   
  <meta   http-equiv="Content-Type"   content="text/html;   charset=gb2312">   
  <title>无标题文档</title>   
  </head>   
    
  <body>   
  <p>[<a   href="jsp.jsp">目录</a>]</p>   
  <p>一.试验环境:WinXP   Profession   SP2   +   JDK   1.4.2   +TomCat   5.0   +Access   2000</p>   
  <p>二.数据库设置:</p>   
  <p>数据库名:d.mdb</p>   
  <p>数据表:b</p>   
  <p>字段:</p>   
  <p>id:   自动增长ID</p>   
  <p>v:备注</p>   
  <p>三.试验步骤:</p>   
  <p>1.连接数据库</p>   
  <p>2.添加记录</p>   
  <p>3.删除记录</p>   
  <p>4.修改记录</p>   
  <p>5.返回数据</p>   
  <p>四.试验结果:</p>   
  <p>   
  <%  
  
  String   mdbpath=request.getRealPath("data/d.mdb");   
  out.print(mdbpath);   
  Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");   //设置数据库连接字符串   
  String   strCon   =   "jdbc:odbc:driver={Microsoft   Access   Driver   (*.mdb)};DBQ="+mdbpath;   
  Connection   conn   =   java.sql.DriverManager.getConnection(strCon,"","");   
  Statement   sqlStmt   =   conn.createStatement();   //执行sql语句的集合   
  //添加数据     /*   
  out.print("1.数据显示:<br>");   
  ResultSet   rs=sqlStmt.executeQuery("select   *   from   b");   
  while(rs.next()){   
    out.print("第一个字段:"+rs.getString("id")+"&nbsp;&nbsp;");   
    out.print("第二个字段:"+rs.getString("v"));   
    out.print("<br>");   
  }   
  rs.close();   
  conn.close();   
  */
  %>   
  </p>   
  </body>   
  </html>   
___________________________________________________
错误提示
type Exception reportmessage description The server encountered an internal error () that prevented it from fulfilling this request.exception javax.servlet.ServletException: [Microsoft][ODBC 驱动程序管理器] 未发现数据源名称并且未指定默认驱动程序
org.apache.jasper.runtime.PageContextImpl.doHandlePageException(PageContextImpl.java:825)
org.apache.jasper.runtime.PageContextImpl.handlePageException(PageContextImpl.java:758)
org.apache.jsp.try_jsp._jspService(try_jsp.java:100)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:94)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:324)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:292)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:236)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
root cause java.sql.SQLException: [Microsoft][ODBC 驱动程序管理器] 未发现数据源名称并且未指定默认驱动程序
sun.jdbc.odbc.JdbcOdbc.createSQLException(JdbcOdbc.java:6958)
sun.jdbc.odbc.JdbcOdbc.standardError(JdbcOdbc.java:7115)
sun.jdbc.odbc.JdbcOdbc.SQLDriverConnect(JdbcOdbc.java:3074)
sun.jdbc.odbc.JdbcOdbcConnection.initialize(JdbcOdbcConnection.java:323)
sun.jdbc.odbc.JdbcOdbcDriver.connect(JdbcOdbcDriver.java:174)
java.sql.DriverManager.getConnection(DriverManager.java:512)
java.sql.DriverManager.getConnection(DriverManager.java:171)
org.apache.jsp.try_jsp._jspService(try_jsp.java:75)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:94)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:324)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:292)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:236)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
note The full stack trace of the root cause is available in the Apache Tomcat/5.0.28 logs.

解决方案 »

  1.   

    你这个是用了ODBC-JDBC连接,而这个要在控制棉班里设置后才可以用的哦
    设置 下就可以了..希望可以帮助更多的人:
    群号:27533401 
    我们的总部设在http://bbs.8isp.cn/?u=233
      

  2.   

    你这个是用了ODBC-JDBC连接,而这个要在控制棉班里设置后才可以用的哦
    设置 下就可以了..希望可以帮助更多的人:
    群号:27533401 
    我们的总部设在http://bbs.8isp.cn/?u=233
    ———————————————————————— 
    String   mdbpath=request.getRealPath("data/d.mdb");   
      out.print(mdbpath);   
      Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");   //设置数据库连接字符串   
      String   strCon   =   "jdbc:odbc:driver={Microsoft   Access   Driver   (*.mdb)};DBQ="+mdbpath;   
    ——————————————————
    但从这段语句来看好象并不需要设置ODBC,而是直接连到了data/d.mdb,不知怎么理解。
      

  3.   

    String spath="DataBase\\#data.mdb";   //注意由网站根到文件的路径
    String dbpath = application.getRealPath(spath); //转化成物理路径String dbname = ""; //Acess 数据库用户名,没有则为空
    String user = ""; //Acess 数据库密码,没有则为空
    //数据库连接字符串 
    String url ="jdbc:odbc:Driver={Microsoft Access Driver (*.mdb)};DBQ="+dbpath; 
    //加载驱动程序
    Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
    //建立连接
    Connection conn= DriverManager.getConnection(url); 
    // **** 数据库连接代码 结束 *********
    %>用这个试试
      

  4.   

    要在控制面板里面根据你的数据库文件data/d.mdb建一个数据源,在程序里面使用那个数据源,代码如下:
            String strURL ="jdbc:odbc:myds";/*myds在ODBC中建的一个用户DSN*/
            Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
            Connection connAcce=DriverManager.getConnection(strURL);
            Statement stmt=connAcce.createStatement();
            ResultSet rs=stmt.executeQuery("SELECT * FROM mytable");
            System.out.println("Got ResultSet Now");
            while(rs.next()){
           System.out.println(rs.getString(1));
           }
        stmt.close();
        connAcce.close();