在于在不做ODBC数据源的情况下让JSP访问Access数据库(代码如下)
<%@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>
其中String strDirPath=application.getRealPath(request.getRequestURI());是不是确定数据库的路径的呢?是不是数据库一定要在ROOT下 ?希望详细的解释,不胜感激!
<%@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>
其中String strDirPath=application.getRealPath(request.getRequestURI());是不是确定数据库的路径的呢?是不是数据库一定要在ROOT下 ?希望详细的解释,不胜感激!
只做过jdbcodbc桥
try{
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
}
catch(ClassNotFoundException e)
{
}
try
{
Connection con=DriverManager.getConnection("jdbc:odbc:数据源名称");
Statement sql=con.createStatement();
.....................
}
catch(SQLException e)
{
}
String strDirPath=application.getRealPath(request.getRequestURI());
正确的应该这样写:String strDirPath=application.getRealPath(request.getServletPath());对于:
String url = "jdbc:odbc:driver={Microsoft Access Driver (*.mdb)};DBQ="+strDirPath+"jcc.mdb";
strDirPath:只要能指明你数据库所在的绝对路径就ok拉,和其他的无关