该设的我都设了,可连接数据库还是报错,大家帮忙看看是怎么回事,谢谢! ( 积分: 30 )

B

babyrun

Unregistered / Unconfirmed
GUEST, unregistred user!
1、在Access下建立数据库student.mdb(假设在D:/)
2、在student.mdb中建立数据表studentinfo如下;
3、建立ODBC数据源
(1)控制面板---------管理工具-----------数据源(ODBC)
(2)Microsoft Access Driver(*.mdb)------------完成
(3)数据源名:Studentinfo
数据库: 选择---------student.mdb
(4)单击确定按钮后OK。
4、编写程序test.jsp,并存入c:/tomcat/webapps/root下。
------------------------------------------------------
<%@ page contentType=&quot;text/html;
charset=GB2312&quot;
%>
<%@ page import=&quot;java.sql.*&quot;
%>
<%@ page language=&quot;java&quot;
%>
<HTML>
<HEAD>
<TITLE>ACCESS数据库连接</TITLE>
</HEAD>
<BODY>
<CENTER>
<FONT SIZE = 5 COLOR = blue>ACCESS数据库连接</FONT>
</CENTER>
<BR>
<HR>
<BR>
<CENTER>
<%
Class.forName(&quot;sun.jdbc.odbc.JdbcOdbcDriver&quot;);
//载入驱动程序类别
Connection con = DriverManager.getConnection(&quot;jdbc:eek:dbc:Studentinfo&quot;);
//建立数据库链接,jspdata为ODBC数据源名称
//建立Statement对象
Statement stmt = con.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_READ_ONLY);
ResultSet rs = stmt.executeQuery(&quot;SELECT * FROM studentinfo&quot;);
//建立ResultSet(结果集)对象,并执行SQL语句
rs.last();
//移至最后一笔
%>
<P>
studentinfo数据表中共有
<FONT SIZE = 4 COLOR = red>
<!--取得最后一笔记录的笔数-->
<%= rs.getRow() %>
</FONT>
笔记录
</P>
<TABLE border=1 bordercolor=#345678 bgcolor=#EFEFEF WIDTH=500>
<TR bgcolor=CCCCCC ALIGN=CENTER>
<TD><B>学生编号</B></TD>
<TD><B>学生姓名</B></TD>
<TD><B>数学成绩</B></TD>
<TD><B>英语成绩</B></TD>
</TR>
<%
rs.beforeFirst();
//移至第一笔记录之前
while(rs.next()) //利用while循环配合next方法将数据表中的记录列出
{
%>
<TR ALIGN=CENTER>
<TD><B><%= rs.getString(&quot;学生编号&quot;) %></B></TD>
<TD><B><%= rs.getString(&quot;学生姓名&quot;) %></B></TD>
<TD><B><%= rs.getString(&quot;数学&quot;) %></B></TD>
<TD><B><%= rs.getString(&quot;英语&quot;) %></B></TD>
</TR>
<%
}
rs.close();
//关闭ResultSet对象
stmt.close();
//关闭Statement对象
con.close();
//关闭Connection对象
%>
</TABLE>
</CENTER>
</BODY>
</HTML>
------------------------------------------------------
http://localhost/test.jsp
运行报错:
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.studentinfo_jsp._jspService(studentinfo_jsp.java:123)
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)
 
1、在Access下建立数据库student.mdb(假设在D:/)
2、在student.mdb中建立数据表studentinfo如下;
3、建立ODBC数据源
(1)控制面板---------管理工具-----------数据源(ODBC)
(2)Microsoft Access Driver(*.mdb)------------完成
(3)数据源名:Studentinfo
数据库: 选择---------student.mdb
(4)单击确定按钮后OK。
4、编写程序test.jsp,并存入c:/tomcat/webapps/root下。
------------------------------------------------------
<%@ page contentType=&quot;text/html;
charset=GB2312&quot;
%>
<%@ page import=&quot;java.sql.*&quot;
%>
<%@ page language=&quot;java&quot;
%>
<HTML>
<HEAD>
<TITLE>ACCESS数据库连接</TITLE>
</HEAD>
<BODY>
<CENTER>
<FONT SIZE = 5 COLOR = blue>ACCESS数据库连接</FONT>
</CENTER>
<BR>
<HR>
<BR>
<CENTER>
<%
Class.forName(&quot;sun.jdbc.odbc.JdbcOdbcDriver&quot;);
//载入驱动程序类别
Connection con = DriverManager.getConnection(&quot;jdbc:eek:dbc:Studentinfo&quot;);
//建立数据库链接,jspdata为ODBC数据源名称
//建立Statement对象
Statement stmt = con.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_READ_ONLY);
ResultSet rs = stmt.executeQuery(&quot;SELECT * FROM studentinfo&quot;);
//建立ResultSet(结果集)对象,并执行SQL语句
rs.last();
//移至最后一笔
%>
<P>
studentinfo数据表中共有
<FONT SIZE = 4 COLOR = red>
<!--取得最后一笔记录的笔数-->
<%= rs.getRow() %>
</FONT>
笔记录
</P>
<TABLE border=1 bordercolor=#345678 bgcolor=#EFEFEF WIDTH=500>
<TR bgcolor=CCCCCC ALIGN=CENTER>
<TD><B>学生编号</B></TD>
<TD><B>学生姓名</B></TD>
<TD><B>数学成绩</B></TD>
<TD><B>英语成绩</B></TD>
</TR>
<%
rs.beforeFirst();
//移至第一笔记录之前
while(rs.next()) //利用while循环配合next方法将数据表中的记录列出
{
%>
<TR ALIGN=CENTER>
<TD><B><%= rs.getString(&quot;学生编号&quot;) %></B></TD>
<TD><B><%= rs.getString(&quot;学生姓名&quot;) %></B></TD>
<TD><B><%= rs.getString(&quot;数学&quot;) %></B></TD>
<TD><B><%= rs.getString(&quot;英语&quot;) %></B></TD>
</TR>
<%
}
rs.close();
//关闭ResultSet对象
stmt.close();
//关闭Statement对象
con.close();
//关闭Connection对象
%>
</TABLE>
</CENTER>
</BODY>
</HTML>
------------------------------------------------------
http://localhost/test.jsp
运行报错:
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.studentinfo_jsp._jspService(studentinfo_jsp.java:123)
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)
 
帮忙看看吧!急啊!
 
路径变量设置??
 
这个问题以前碰到过,没解决[:(]
当时是调试的状态下一步一步的可以程序可以运行下去
正常运行就出错
 
选择“系统”数据源,问题解决。
散分,见者有份
 
顶部