当前位置: 代码迷 >> Java Web开发 >> jsp联接sql 2008失败
  详细解决方案

jsp联接sql 2008失败

热度:6730   发布时间:2013-02-25 21:14:32.0
jsp连接sql 2008失败
tomcat6.0报错


放了jdbc.jar进web_inf里还是报错,不知道哪里出错了
 The server encountered an internal error () that prevented it from fulfilling this request.

exception 

org.apache.jasper.JasperException: javax.servlet.ServletException: java.lang.ClassNotFoundException: com.microsoft.jdbc.sqlserver.SQLServerDriver
org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:502)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:412)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:313)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:260)
javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
连接数据库的代码:
<%@ page contentType="text/html;charset=gb2312"%> 
<%@ page import="java.sql.*"%> 
<html> 
<body> 
<%Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver").newInstance(); 
String url="jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=student"; 

String user="sa"; 
String password="123456"; 
Connection conn= DriverManager.getConnection(url,user,password); 
Statement stmt=conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE); 
String sql="select * from student"; 
ResultSet rs=stmt.executeQuery(sql); 
String s="";
while(rs.next()) {%> 
您的第一个字段内容为:<%s=rs.getString(1);%> 
您的第二个字段内容为:<%s=rs.getString(2);%> 
<%}%> 
<%out.print("数据库操作成功");%> 
<%rs.close(); 
stmt.close(); 
conn.close(); 
%> 
</body> 
</html> 
</html>



------解决方案--------------------------------------------------------
报的错误很明显,java.lang.ClassNotFoundException: com.microsoft.jdbc.sqlserver.SQLServerDriver
驱动没找到,建议换个包试试,你用的sqlserver数据库,这个数据库没用过,以前替一朋友整过,也是这问题,你用的最新的,那写法是以前的,不知道行不行。要不你看看sqlserver文档怎么说的。
------解决方案--------------------------------------------------------
楼主用什么工具开发的啊?如果是MyEclipse的话是不是没有引入包啊?你只拷过去不管用的,还需要引入。应该是在project下的最后一个选项,然后应该是左侧第三个选项,然后再怎么我记不太清了。希望能帮助到楼主!
------解决方案--------------------------------------------------------
而SQL Server 2005/2008 中加载驱动和url的语句则为

String driverName = "com.microsoft.sqlserver.jdbc.SQLServerDriver";
String dbURL = "jdbc:sqlserver://localhost:1433; DatabaseName=sample";

在SQL Server 2000 中加载驱动和URL路径的语句是

String driverName = "com.microsoft.jdbc.sqlserver.SQLServerDriver";
String dbURL = "jdbc:microsoft:sqlserver://localhost:1433; DatabaseName=sample";
可以看出版本不同连接方法也是不同的。SQL Server有许多不同版本,看你用的是哪个了
------解决方案--------------------------------------------------------
貌似LZ的URL写错了
------解决方案--------------------------------------------------------
如3#说的,2005是一个分界点,驱动名跟路径都是不一样的,改过来就好了!
------解决方案--------------------------------------------------------
这个应该能连接上。最后rs,stmt,conn,关一下,就行。

LZ最先发的那段代码,url&driverClass有问题。
------解决方案--------------------------------------------------------
百度吧,挺多的。
------解决方案--------------------------------------------------------
没jar包吧
------解决方案--------------------------------------------------------
探讨

怎么关啊,jsp语法我不咋熟,去哪些代码啊?求指导。。。非常感激

------解决方案--------------------------------------------------------
1、检查驱动包是否有问题
2、检查程序中的驱动写法有没有问题
  相关解决方案