jsp无法连接sql2005(请教各位高手)

shoushaodon 2008-11-10 10:47:25
小弟初涉jsp,无法连接sql2005。java基础教程上面的程序我都可以连接sql2005,ASP也能连接sql2005,显示数据时也正常。classpath里面的环境设置为:",;C:\Program Files\Java\jdk1.6.0_01\lib;C:\Program Files\sqljdbc_1.2\enu\sqljdbc.jar",web项目里面也导入了sqljdbc.jar,各个lib文件夹下面我也把sqljdbc.jar复制进去,还是不行,网上的方法我都用光了。弄了好几天,自己实在没有办法可施,在此请教各位大哥。我的代码是:
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%@ page import="java.io.*" %>
<%@ page import="java.sql.*"%>
<%
String driverName = "com.microsoft.sqlserver.jdbc.SQLServerDriver"; //加载JDBC驱动
String dbURL = "jdbc:sqlserver://localhost:1459;DatabaseName=shoujsp"; //连接服务器和数据库shoujsp
String userName = "sa"; //默认用户名
String userPwd = ""; //密码
Connection dbConn;
DatabaseMetaData dbmd;

try
{
Class.forName(driverName);
dbConn = DriverManager.getConnection(dbURL, userName, userPwd);
out.println("Connection successful");
}
catch(Exception ex)
{
out.println(ex);
}
%>

把此jsp程序改成java小程序可以连接并显示数据正常。我现在真晕了。
抛出的异常:java.lang.ClassNotFoundException: com.microsoft.sqlserver.jdbc.SQLServerDriver
由于此号申请不久,又没怎么用,所以没分。望辩解呀。本人QQ:375336331
...全文
171 点赞 收藏 11
写回复
11 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
shoushaodon 2008-11-15
换成MySql就可以了,但还是不明白为什么MSSQL2005就不行呢。如果你知道告诉我一下。
本人QQ:375336331
也可以一起讨论。
回复
shoushaodon 2008-11-12
汗,我把包也解压出来对照了,都没有错。加进web.xml还是不行啊。
异常:java.lang.RuntimeException: could not locate data
我的代码:
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%@ page import="java.io.*" %>
<%@ page import="java.sql.*"%>
<%
String driverName = "com.microsoft.sqlserver.jdbc.SQLServerDriver"; //加载JDBC驱动
String dbURL = "jdbc:sqlserver://localhost:1433;DatabaseName=shoujsp"; //连接服务器和数据库shoujsp
String userName = "sa"; //默认用户名
String userPwd = ""; //密码
Connection dbConn;
DatabaseMetaData dbmd;

try
{
Class.forName(driverName).newInstance();
dbConn = DriverManager.getConnection(dbURL, userName, userPwd);
out.println("Connection successful");
dbConn.close();
}
catch(Exception ex)
{
ex.printStackTrace();
}

%>

都快要疯了。唉。。。。
哪位有高招的帮我调试一下吧。。。
qq:375336331
回复
lcqpsp 2008-11-11
1、连接SqlServer2000
<connection-url> jdbc:microsoft:sqlserver://localhost:1433;database=xxx </connection-url>
<driver-class> com.microsoft.jdbc.sqlserver.SQLServerDriver </driver-class>

2、连接SqlServer2005
<connection-url> jdbc:sqlserver://localhost:1433;database=xxx </connection-url>
<driver-class> com.microsoft.sqlserver.jdbc.SQLServerDriver</driver-class>

2005的jdbc驱动包和2000驱动包差了黑体字部分。你解压你的jdbc的jar包看一下位置。我配jboss时候就是这个问题。不过现在已经解决了好多人的配置问题。还有一个问题,你的sqlserver端口开了吗?sqlserver2005安装完的时候是默认禁用1433端口的,你用2005的SQL Server Configuration Manager工具看一下。
回复
shoushaodon 2008-11-11
怎么就没有人来帮我出主意了呢?呜呜。。。。。
回复
shoushaodon 2008-11-10
回复java2000_net:
catch(Exception ex)
{
ex.printStackTrace(); // 这样写,看看输出的异常是什么
}
这样写之后变成:
org.apache.jasper.JasperException: Exception in JSP: /testjdbc.jsp:14

11:
12: try
13: {
14: Class.forName(driverName);
15: dbConn = DriverManager.getConnection(dbURL, userName, userPwd);
16: out.println("Connection successful");
17: }


Stacktrace:
org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:467)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:371)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:315)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:265)
javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
回复
shoushaodon 2008-11-10
回复java2000_net(老紫竹)前辈:
放在WEB-INF/lib 目录下面会出现:
description The server encountered an internal error () that prevented it from fulfilling this request.

exception

org.apache.jasper.JasperException
org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:476)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:371)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:315)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:265)
javax.servlet.http.HttpServlet.service(HttpServlet.java:803)

...............中间很多

root cause

java.lang.RuntimeException: could not locate data
sun.text.normalizer.NormalizerImpl.<clinit>(NormalizerImpl.java:44)
sun.text.normalizer.NormalizerBase.decompose(NormalizerBase.java:707)
sun.text.normalizer.NormalizerBase$NFKDMode.normalize(NormalizerBase.java:348)
sun.text.normalizer.NormalizerBase.normalize(NormalizerBase.java:1592)
sun.text.normalizer.NormalizerBase.normalize(NormalizerBase.java:1573)
java.text.Normalizer.normalize(Normalizer.java:146)
sun.security.x509.AVA.toRFC2253CanonicalString(AVA.java:986)
sun.security.x509.RDN.toRFC2253StringInternal(RDN.java:430)
sun.security.x509.RDN.toRFC2253String(RDN.java:409)

......


回复
老紫竹 2008-11-10
上面的修改,适用于你所有的catch,不单单是你在这个帖子里写的代码,是你所有的代码都要改!
回复
老紫竹 2008-11-10
could not load data.
这个证明你的异常已经解决了
是你的sql写错了
}
catch(Exception ex)
{
ex.printStackTrace(); // 这样写,看看输出的异常是什么
}
回复
shoushaodon 2008-11-10
只要有lib文件夹的,我都放过,tomcat下面那引起lib下面也放过。放在WEB-INF/lib 目录下面会出现:could not load data.
回复
shoushaodon 2008-11-10
另附本机配置:
windows 2008 + JDK1.6 + Tomcat5.5.23 + Eclipse3.2 + MyEclipse6.5 + MSSQL2005(标准版)+ sqljdbc1.2
望各位前辈高人指点一二。
回复
老紫竹 2008-11-10
java.lang.ClassNotFoundException: com.microsoft.sqlserver.jdbc.SQLServerDriver
把 sqljdbc.jar 放到 WEB-INF/lib 目录下面
回复
相关推荐
发帖
Java EE
创建于2007-09-28

6.7w+

社区成员

J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
申请成为版主
帖子事件
创建了帖子
2008-11-10 10:47
社区公告
暂无公告