jsp直连access数据库测试问题:
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 ");
}
%>
------解决方案--------------------很简单,就是你的路径错了,修改一下路径! 用绝对路径! 但是绝对路径的前面不要直接写,要用request.getContextPath()+ "/ "+后面的路径,这样永远不会错了!
注意:request.getContextPath()这个我忘记具体名字万一拼写错误,请见谅哈!
------解决方案--------------------恭喜!接分!
------解决方案--------------------俺有个办法也可以解决 用 request.getRealPath( "sss.mdb ") 也可以找到数据库文件的绝对路径。 不过 不如上面说的好。 俺学习中。
------解决方案--------------------恭喜..JF
------解决方案--------------------恭喜..散分
谢谢!