长安福特在哪个城市:请教一下,jsp连sql server怎么仍有问题啊?

来源:百度文库 编辑:查人人中国名人网 时间:2024/05/05 08:55:45
各位高人,我的问题如下
--
一个简单的jsp页面,连接sql server 2000数据库一直报错
文件 1.jsp的代码如下
<%@page contentType="text/html;charset=gb2312"%>
<%@page import="java.sql.*"%>
<html>
<body>
<%Class.forName("java.lang.NoClassDefFoundError: com/microsoft/jdbc/base/BaseDriver").newInstance();
String url="jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=testsys";
Connection conn = DriverManager.getConnection(url,"sa","sa");
Statement stmt = conn.createStatement();
String sql= "select * from test_admin";
ResultSet rs=stmt.executeQuery(sql);
while(rs.next())
{
%>
您的第一个字段:<%=rs.getString("loginname")%>
您的第二个字段:<%=rs.getString("truename")%>
<%
}
%>
<%out.print("数据库操作成功");%>
<%rs.close();
stmt.close();
conn.close();
%>
</body>
<html>

-----
错误如下
description The server encountered an internal error () that prevented it from fulfilling this request.

exception

javax.servlet.ServletException: java.lang.NoClassDefFoundError: com/microsoft/jdbc/base/BaseDriver
org.apache.jasper.runtime.PageContextImpl.doHandlePageException(PageContextImpl.java:825)
org.apache.jasper.runtime.PageContextImpl.handlePageException(PageContextImpl.java:758)
org.apache.jsp._1_jsp._jspService(_1_jsp.java:84)
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)

---
我的系统是winxp
sql server 2000是个人版,已打过微软的sp3补丁
我的classpath设置为
classpath=.;D:\StudyProgram\jdk1.5.0\lib\tools.jar;D:\StudyProgram\jdk1.5.0\lib\
dt.jar;D:\StudyProgram\tomcat\common\lib\servlet.jar;D:\StudyProgram\tomcat\comm
on\lib\msbase.jar;D:\StudyProgram\tomcat\common\lib\mssqlserver.jar;D:\StudyProg
ram\tomcat\common\lib\msutil.jar;
------------------
不知道为什么还是连不上

我改为sun.jdbc.odbc.JdbcOdbcDriver后运行成功,能连上数据库.
不好意思,我提问时把源代码敲错了。
我是用的
Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver").newInstance();

应该用
Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");
你的下到的jdbc驱动是com.microsoft.jdbc.sqlserver.SQLServerDriver
不是com/microsoft/jdbc/base/BaseDriver
所以在你的jdbc驱动中找不到com/microsoft/jdbc/base/BaseDriver

Class.forName("java.lang.NoClassDefFoundError: com/microsoft/jdbc/base/BaseDriver").newInstance();
我晕........这啥.........