这几天刚刚接触jsp,按照书上的例题做了试验,可是数据库连接不上,我用的是Access,
我首先在数据源(ODBC)里选择"用户DSN" 添加了数据源(myku),选择了数据库(test.mdb)(其中表名为biao)确定后演示下面例子
以下是源代码
<html>
<head>
</head>
<%@ page contentType="text/html;charset=GB2312"%>
<%@ page import="java.sql.*"%>
<body>
<table border=1 align="center">
<tr>
<td>id</td>
<td>name</td>
</tr>
<%Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
String url="jdbc:odbc:myku";
String username="";
String password="";
Connection con=DriverManager.getConnection(url,username,password);
Statement stmt=con.createStatement();
ResultSet rs=stmt.executeQuery("select * from biao");
while(rs.next())
{
%>
<tr>
<td><%=rs.getString("id")%></td>
<td><%=rs.getString("name")%></td>
</tr>
<%
}
rs.close();
con.close();
%>
</table>
</body>
</html>
可是显示不出来,出错信息如下:
type Exception reportmessage description The server encountered an internal error () that prevented it from fulfilling this request.exception javax.servlet.ServletException: [Microsoft][ODBC 驱动程序管理器] 未发现数据源名称并且未指定默认驱动程序
org.apache.jasper.runtime.PageContextImpl.doHandlePageException(PageContextImpl.java:825)
org.apache.jasper.runtime.PageContextImpl.handlePageException(PageContextImpl.java:758)
org.apache.jsp.index1_jsp._jspService(index1_jsp.java:87)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:94)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:324)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:292)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:236)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
root cause java.sql.SQLException: [Microsoft][ODBC 驱动程序管理器] 未发现数据源名称并且未指定默认驱动程序
sun.jdbc.odbc.JdbcOdbc.createSQLException(JdbcOdbc.java:6957)
sun.jdbc.odbc.JdbcOdbc.standardError(JdbcOdbc.java:7114)
sun.jdbc.odbc.JdbcOdbc.SQLDriverConnect(JdbcOdbc.java:3073)
sun.jdbc.odbc.JdbcOdbcConnection.initialize(JdbcOdbcConnection.java:323)
sun.jdbc.odbc.JdbcOdbcDriver.connect(JdbcOdbcDriver.java:174)
java.sql.DriverManager.getConnection(DriverManager.java:582)
java.sql.DriverManager.getConnection(DriverManager.java:185)
org.apache.jsp.index1_jsp._jspService(index1_jsp.java:58)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:94)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:324)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:292)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:236)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
note The full stack trace of the root cause is available in the Apache Tomcat/5.0.28 logs. 请教是什么原因

解决方案 »

  1.   

    myku数据源你配的是本地还是系统
      

  2.   

    我说的是设定数据源的时候,上面有标签,你看一下用户dns  系统dns  
      

  3.   

    建立ODBC数据源 
    (1)控制面板---------管理工具-----------数据源(ODBC) -------用户DNS-----添加---------
    Microsoft Access Driver(*.mdb)------------完成 -------数据源名:myku 
    数据库: 选择-----------C:\Program Files\Apache Software Foundation\Tomcat 5.0\webapps\zy\test.mdb我就是这个过程,可是会出错
      

  4.   

    控制面板---------管理工具-----------数据源(ODBC) -------用户DNS-----添加---------
    系统dns