news.mdb和news.jsp放在一个文件夹下运行news.jsp为什么有如下错误提示:
java.sql.SQLException: [Microsoft][ODBC Microsoft Access Driver] '(未知的)'不是一个有效的路径。 确定路径名称拼写是否正确,以及是否连接到文件存放的服务器。这是一个access数据库驱动程序,本地应该有的为什么会提示没有?源代码:
<%@page contentType="text/html; charset=gb2312" language="java" import="java.sql.*" errorPage=""%><%
try{
  Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
}
catch(ClassNotFoundException e){
  out.print(e);
  out.print("1");
}
try{
  String strDirPath=application.getRealPath(request.getRequestURI());
  strDirPath=strDirPath.substring(0,strDirPath.lastIndexOf('\\'))+"\\";
  String url = "jdbc:odbc:driver={Microsoft Access Driver (*.mdb)};DBQ="+strDirPath+"news.mdb";
  Connection conn = DriverManager.getConnection(url);
  Statement stmt = conn.createStatement();
  ResultSet rs = stmt.executeQuery("SELECT * FROM news");
  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);
  out.print("2");
}
%>

解决方案 »

  1.   

    很简单,就是你的路径错了,修改一下路径! 用绝对路径! 但是绝对路径的前面不要直接写,要用request.getContextPath()+"/"+后面的路径,这样永远不会错了!注意:request.getContextPath()这个我忘记具体名字万一拼写错误,请见谅哈!
      

  2.   

    搞定了
      String url = "jdbc:odbc:driver={Microsoft Access Driver (*.mdb)};DBQ="+strDirPath+"samples\\news.mdb";
      

  3.   

    俺有个办法也可以解决  用  request.getRealPath("sss.mdb") 也可以找到数据库文件的绝对路径。  不过 不如上面说的好。  俺学习中。