关于一个JSP连接ACCESS数据库DSN的问题,非代码问题。
前阵子做了个asp.net连接access数据库的练习,当时没有用DSN而是用绝对路径直接连接,没出什么问题。
最近要做个jsp连接access的练习,要求使用DSN进行连接。
我先在数据源 (ODBC)中创建了一个 用户DSN ,选择的驱动是“Microsoft Access Driver (*.mdb)”
并指向我的数据库,然后在jsp页面中进行 连接成功与否的输出 这是代码片断
<%
try{Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");}
catch(ClassNotFoundException e){out.print(e);}
try{
String url = "jdbc:odbc:eHandphone";
Connection conn = DriverManager.getConnection(url,"","");
out.print(conn==null);
}
catch(Exception ex){out.print(ex);}
%>
非常的简单 且不牵扯数据集,仅仅针对连接。
可是 总是提出来
“java.sql.SQLException: [Microsoft][ODBC 驱动程序管理器] 未发现数据源名称并且未指定默认驱动程序 ”的错误。
而当我把相同的代码 放到一个包含main方法的java类中进行输出 又显示连接成功 而且可以取出数据。
更奇怪的是 我把刚才建立的这个用户DSN删掉以后 重新创建了一个 系统DSN 并指向刚才相同的数据库,JSP页面上又显示 连接成功,且可以读取所有数据。
想了半天 实在不明白所以然,希望高手能指点一二。