server-JSP菜鸟问连接SQL SERVER 2008的问题

问题描述

JSP菜鸟问连接SQL SERVER 2008的问题

JSP代码
<%@ page contentType="text/html;charset=utf-8"%>
<%@ page import="java.sql.*"%>

<%

Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver").newInstance();
String url="jdbc:sqlserver://localhost:1433;DatabaseName=DbTest";
String username="sa";
String password="123456";
Connection conn= DriverManager.getConnection(url,username,password);
Statement stmt=conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);
String sql="select * from Test";
ResultSet rs=stmt.executeQuery(sql);
while(rs.next()) {%>
您的第一个字段内容为:<%=rs.getString(1)%>
您的第二个字段内容为:<%=rs.getString(2)%>
<%}%>
<%out.println("数据库操作成功,恭喜你");%>
<%rs.close();
stmt.close();
conn.close();
%>

出现问题如下:
HTTP Status 500 -

type Exception report

message

description The server encountered an internal error () that prevented it from fulfilling this request.

exception

org.apache.jasper.JasperException: An exception occurred processing JSP page /WebRoot/test.jsp at line 6

3:
4:

5: <%

6: Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver").newInstance();
7: String url="jdbc:sqlserver://localhost:1433;DatabaseName=DbTest";
8:
9: String username="sa";

Stacktrace:
org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:568)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:455)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:390)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:334)
javax.servlet.http.HttpServlet.service(HttpServlet.java:722)
root cause

javax.servlet.ServletException: java.lang.ClassNotFoundException: com.microsoft.sqlserver.jdbc.SQLServerDriver
org.apache.jasper.runtime.PageContextImpl.doHandlePageException(PageContextImpl.java:911)
org.apache.jasper.runtime.PageContextImpl.handlePageException(PageContextImpl.java:840)
org.apache.jsp.WebRoot.test_jsp._jspService(test_jsp.java:110)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
javax.servlet.http.HttpServlet.service(HttpServlet.java:722)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:432)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:390)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:334)
javax.servlet.http.HttpServlet.service(HttpServlet.java:722)
root cause

java.lang.ClassNotFoundException: com.microsoft.sqlserver.jdbc.SQLServerDriver
org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1711)
org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1556)
org.apache.jasper.servlet.JasperLoader.loadClass(JasperLoader.java:126)
org.apache.jasper.servlet.JasperLoader.loadClass(JasperLoader.java:63)
java.lang.Class.forName0(Native Method)
java.lang.Class.forName(Unknown Source)
org.apache.jsp.WebRoot.test_jsp._jspService(test_jsp.java:68)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
javax.servlet.http.HttpServlet.service(HttpServlet.java:722)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:432)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:390)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:334)
javax.servlet.http.HttpServlet.service(HttpServlet.java:722)
note The full stack trace of the root cause is available in the Apache Tomcat/7.0.27 logs.

Apache Tomcat/7.0.27

求解,各位高手,请赐教!郁闷到想自杀,搞了好久就是不通。

解决方案

public Connection getConnection()
{
Connection conn=null;
//链接SQLServer2000

//String CLASSFORNAME="com.microsoft.jdbc.sqlserver.SQLServerDriver";

// String SERVANDDB="jdbc:microsoft:sqlserver://127.0.0.1:1433;DatabaseName=tempdb";

//连接SQLServer2005
String CLASSFORNAME="com.microsoft.sqlserver.jdbc.SQLServerDriver";
String SERVANDDB="jdbc:sqlserver://localhost:1433;DatabaseName=jmorder";

// String SERVANDDB="jdbc:sqlserver://219.229.249.71;DatabaseName=jxpro_manage";
String USER="sa";
String PWD="123";
//String PWD="jxedu";

try
{
Class.forName(CLASSFORNAME);
conn=DriverManager.getConnection(SERVANDDB,USER,PWD);

}catch(Exception ex)
{
ex.printStackTrace();
}
return conn;
}

解决方案二:

 换一下驱动包试试,sqljdbc.jar和sqljdbc4.jar换一下试试

以下是msdn中 JDBC Driver的系统要求中的解释:我们清楚的看到 sqljdbc.jar 类库要求使用 5.0 版的 Java 运行时环境 (JRE)。连接到数据库时,在 JRE 6.0 上使用 sqljdbc.jar 会引发异常。而我的jre为6.0的,自然报异常。

JAR
说明
sqljdbc.jar
sqljdbc.jar 类库提供对 JDBC 3.0 的支持。
sqljdbc.jar 类库要求使用 5.0 版的 Java 运行时环境 (JRE)。连接到数据库时,在 JRE 6.0 上使用
 sqljdbc.jar会引发异常。
 注意:  JDBC 驱动程序不支持 JRE 1.4。使用 JDBC Driver 时必须将 JRE 1.4 升级至 JRE 5.0 或 JRE 6.0。
在某些情况下,您可能需要重新编译应用程序,因为它可能与 JDK 5.0 或更高版本不兼容。
有关详细信息,请参阅 Sun Microsystems 网站上的文档。
sqljdbc4.jar
sqljdbc4.jar 类库提供对 JDBC 4.0 的支持。它不仅包括 sqljdbc.jar 的所有功能,
还包括新增的 JDBC 4.0 方法。
sqljdbc4.jar 类库要求使用 6.0 版的 Java 运行时环境 (JRE)。在 JRE 1.4 或 5.0 上
使用 sqljdbc4.jar 会引发异常。
注意:   如果应用程序必须在 JRE 6.0 上运行,即使该应用程序不使用 JDBC 4.0 功能
,也应使用 sqljdbc4.jar。

解决方案三:

javax.servlet.ServletException: java.lang.ClassNotFoundException: com.microsoft.sqlserver.jdbc.SQLServerDriver

Jar包没有导入,报类没有找到的异常,试试引入这个里面的jar包。http://download.csdn.net/detail/jinpengyima/4845676

解决方案四:

看样子是jar包出现了问题

解决方案五:

出现这个问题有可能是2方面的问题:
1、jar包,上面的回答已经很全面了
2、java链接sqlserver需要数据库至少打sp3,根据数据库的版本网上下载打好补丁在尝试一下

解决方案六:

驱动包没有!强调一下,jsp最好不要写java代码,虽然最终会转换成servlet,但是写上java代码就是去了jsp的意义。但不是说一点都不能写,不要拘泥于规则。

解决方案七:

有没有解决?解决的方法是什么?为后来遇到同样问题的人一个参考答案,这样只知道问,问后又不了了之的以后谁还会帮助你解决问题?

时间: 2024-09-17 02:55:18

server-JSP菜鸟问连接SQL SERVER 2008的问题的相关文章

JSP JDBC如何连接SQL Server 2005

一.下载安装 1.SQL Server 2005 Express Edition 下载:http://msdn.microsoft.com/vstudio/express/sql/download/ 安装完数据库后设置ICP/IP协议启动,具体如下: (1)打开SQL Server Configuration Manager (2)转到SQL Server 2005 Network Configuration->Protocols for SQLEXPRESS (3)将TCP/IP设置为Enab

如何用SQL SERVER 2005连接SQL SERVER 2008

  原先使用sql server 2005数据库,后来由于工作需要升级为sql server 2008 开发版,升级过程很简单,基本没有什么问题 下面主要说说,如何使用sql server 2005 studio来连接sql server 2008,过程其实很简单,主要注意两点 1) sql server 2005 studio需要打sp4补丁 在关于里面看到management studio 版本号为9.00.50000;如果未打补丁,提示"只能管理sql server 2000和2005数据

远程连接sql server 2000服务器的解决方案

server|服务器|解决 远程连接sql server 2000服务器的解决方案 一 看ping 服务器IP能否ping通. 这个实际上是看和远程sql server 2000服务器的物理连接是否存在.如果不行,请检查网络,查看配置,当然得确保远程sql server 2000服务器的IP拼写正确. 二 在Dos或命令行下输入telnet 服务器IP 端口,看能否连通. 如telnet 202.114.100.100 1433 通常端口值是1433,因为1433是sql server 2000

java连接sql server 2008 r2 问题

问题描述 java连接sql server 2008 r2 问题 代码如下: package com.JDBC; import java.sql.Connection; import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.Statement; /** @author Bob */ public class GetConn { public static void main(String args[])

php连接sql server 2008数据库

原文:php连接sql server 2008数据库 关于php连接sql server 2008的问题,2000的版本可以直接通过php中的配置文件修改,2005以上的版本就不行了,需要使用微软公司提供的驱动(sql server driver for php). sql server driver for php下载地址:http://www.microsoft.com/en-us/download/details.aspx?id=20098 1. 下载驱动程序:下载完成后安装释放程序,里面

java连接sql server 2008数据库代码_java

Java连接SQLServer 2008数据库的步骤: 1.到微软官方下载jdbc 并解压,得到sqljdbc.jar和sqljdbc4.jar,由于使用的是JDK1.7,所以使用sqljdbc4.jar, 2.复制文件sqljdbc4.jar到jdk目录\jdk1.7.0\jre\lib\ext下. 配置系统变量classpath 变量路径 D:\Java\jdk1.7.0\jre\lib\ext\sqljdbc4.jar 测试程序: 复制代码 代码如下:  import java.sql.*

jsp 连接sql server 2005与连接失败解决方法

jsp教程 连接sql server 2005与连接失败解决方法 <% 12 statement st=null; 13 class.forname("com.microsoft.sqlserver.jdbc.sqlserverdriver"); 14 connection con=drivermanager.getconnection("jdbc:sqlserver://localhost:1433;databasename=acmen","sa&

VS2008连接SQL Server数据库文件出错的解决方案

有园子里的朋友问到一个问题:系统上安装的是vs2008+Sql 2005 developer(没有安装Sql server 2005 Express )用代码直接连SQL Server服务器没有问题,但在项目中数据源改用SQL Server数据库文件时出错,提示错误如下:"与SQL Server文件(*.mdf)的连接要求安装SQL Server2005才能正常工作,请确认是否安装了该组件,--"英文版为"Connections to SQL Server Files (*.

艾伟_转载:VS2008连接SQL Server数据库文件出错的解决方案

有园子里的朋友问到一个问题:系统上安装的是vs2008+Sql 2005 developer(没有安装Sql server 2005 Express ) 用代码直接连SQL Server服务器没有问题,但在项目中数据源改用SQL Server数据库文件时出错,提示错误如下:"与SQL Server文件(*.mdf)的连接要求安装SQL Server2005才能正常工作,请确认是否安装了该组件,--" 英文版为"Connections to SQL Server Files (