网络编程 
首页 > 网络编程 > 浏览文章

JSP连接Access数据库

(编辑:jimmy 日期: 2024/11/7 浏览:3 次 )
一.建立数据库及ODBC数据源

  1.建立jcc.mdb数据库及user表     
  2.添加测试数据
  3.配置ODBC数据源

二.在<%wwwroot%>/下,新建Access数据库连接文件Select.jsp

  Select.jsp源码如下:


<%@page contentType="text/html;charset=gb2312"%>
<%@page import="java.sql.*"%>
<html>
<body>
<%
try{
  Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
}
catch(ClassNotFoundException e){
  out.print(e);
}
try{
  String url = "jdbc:odbc:jcc";
  Connection conn = DriverManager.getConnection(url,"jcc","jsp.com.cn");
  Statement stmt = conn.createStatement();
  ResultSet rs = stmt.executeQuery("Select * FROM user");
  out.println("User-list"+"<br>");
  while(rs.next()){
    out.print(rs.getString(1)+" ");
    out.print(rs.getString(2)+"<br>");
  }
  rs.close();
  stmt.close();
  conn.close();
}
catch(Exception ex){
  out.print(ex);
}
%>
</body>
</html>



四.运行http://localhost/Select.jsp,显示结果如下:

User-list
1 Corebit
2 Ivan

  则表示数据库连接成功!恭喜!恭喜!

  否则请检查数据源相关设置,出错可能性比较高!

附言:

  常有人问起,如何在不做ODBC数据源的情况下让JSP访问Access数据库,为解开这个迷团,特写以下连接代码,以供参考!其中,jcc.mdb与Select.jsp同位于<%wwwroot%>(根目录)下。

  改写后的Select.jsp源码如下:


<%@page contentType="text/html;charset=gb2312"%>
<%@page import="java.sql.*"%>
<html>
<body>
<%
try{
  Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
}
catch(ClassNotFoundException e){
  out.print(e);
}
try{
  String strDirPath=application.getRealPath(request.getRequestURI());
  strDirPath=strDirPath.substring(0,strDirPath.lastIndexOf('\\'))+"\\";
  String url = "jdbc:odbc:driver={Microsoft Access Driver (*.mdb)};DBQ="+strDirPath+"jcc.mdb";
  Connection conn = DriverManager.getConnection(url);
  Statement stmt = conn.createStatement();
  ResultSet rs = stmt.executeQuery("Select * FROM user");
  out.println("User-list"+"<br>");
  while(rs.next()){
    out.print(rs.getString(1)+" ");
    out.print(rs.getString(2)+"<br>");
  }
  rs.close();
  stmt.close();
  conn.close();
}
catch(Exception ex){
  out.print(ex);
}
%>
</body>
</html>



  运行结果应该与使用ODBC时的运行结果相同!

  *注:文件名Select.jsp区分大小写!

  希望本文能对你的JSP连接Access数据库有所帮助!
==========================================
只能使用jdbc-odbc桥来连接   
  想要设置odbc数据源   
  然后连接   
  String     dbdriver   =   "oracle.jdbc.driver.OracleDriver";   
                  String     dbname   =   "jdbc:oracle:thin:@192.168.0.101:1521:orcl";//根据你的情况修改   
                  String     user   =   "system";//用户名   
                  String   password   =   "manager";//密码   
                  Connection   conn   =   null;   
                  Statement   stmt   =   null;   
                  ResultSet   rs   =null;   
  String   sql="select   *   from   表名";//根据实际情况修改   
  try   
                              {   
                                      Class.forName(dbdriver);   
                              }   
                              catch(java.lang.ClassNotFoundException   e){   
                                          System.err.println("Class   access_dbconnect   not   fount!"+e.getMessage());   
                                        }   
  conn=DriverManager.getConnection(dbname,user,password);   
                                      Statement   stmt=conn.createStatement();   
                                      rs=stmt.executeQuery(sql); 
=========================================
sDBDriver   =   "sun.jdbc.odbc.JdbcOdbcDriver";   
                  sConnStr   =   "jdbc:odbc:odbc名称";   
                  conn   =   null;   
                  rs   =   null;   
                  try   
                  {   
                          Class.forName(sDBDriver);   
                  }   
                          conn   =   DriverManager.getConnection(sConnStr);   
                          Statement   statement   =   conn.createStatement();   
                          rs   =   statement.executeQuery(s);   
  你在odbc数据源中建一个access连接,然后把上面的代码中的odbc名称改成你的odbc数据源连接名称就可以了。
上一篇:Jsp连接Access数据库(不通过建立ODBC数据源的方法)
下一篇:在JSP下如何计算时间差
一句话新闻
高通与谷歌联手!首款骁龙PC优化Chrome浏览器发布
高通和谷歌日前宣布,推出首次面向搭载骁龙的Windows PC的优化版Chrome浏览器。
在对骁龙X Elite参考设计的初步测试中,全新的Chrome浏览器在Speedometer 2.1基准测试中实现了显著的性能提升。
预计在2024年年中之前,搭载骁龙X Elite计算平台的PC将面世。该浏览器的提前问世,有助于骁龙PC问世就获得满血表现。
谷歌高级副总裁Hiroshi Lockheimer表示,此次与高通的合作将有助于确保Chrome用户在当前ARM兼容的PC上获得最佳的浏览体验。