Java论坛网»Java技术»求救!!! 关于JSP连接SQL Server 2005的问题!!!
求救!!! 关于JSP连接SQL Server 2005的问题!!!
问?:
本人刚刚换用SQL Server 2005,但是和JSP连接却出现了问题,我已经试了几天,仍无进展,只好向大家求救!!! 我贴出环境和代码:
tomcat-5.5.17 + jdk-1_5_0_8 + SQL Server 2005
我的驱动是SQL Server 2005 JDBC Driver(最新的驱动)
CLASSPATH:
%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar;
%CATALINA%\common\lib\servlet-api.jar;
%JAVA_HOME%\lib\sqljdbc.jar
connMSSQL.jsp:
<%
Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
String url= "jdbc:sqlserver://localhost:1433;databasename=demo;user=sa;password=101268";
Connection conn = DriverManager.getConnection(url);
Statement smt = conn.createStatement();
String sql = "select * from user";
ResultSet rs = smt.executeQuery(sql);
while(rs.next()){
out.println(rs.getString(1));
out.print("database is open,ok!");
}
smt.close();
conn.close();
%>
错误信息:
description The server encountered an internal error () that prevented it from fulfilling this request.
exception
org.apache.jasper.JasperException: Exception in JSP: /connMSSQL.jsp:5
2:<%
3: Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
4: String url="jdbc:sqlserver://localhost:1433;databasename=demo;user=sa;password=101268";
5: Connection conn = DriverManager.getConnection(url);
6: Statement smt = conn.createStatement();
7: String sql = "select * from user";
8: ResultSet rs = smt.executeQuery(sql);
Stacktrace:
org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:504)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:375)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:314)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:264)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
root cause
javax.servlet.ServletException: 到主机 的 TCP/IP 连接失败。 java.net.ConnectException: Connection refused: connect
....
我曾到MSDN查过"使用 JDBC 驱动程序"这一节 :
[http://msdn2.microsoft.com/zh-cn/library/ms378526.aspx]
唯一让我感觉出问题的就是这里:
Servlet 或 JSP:
在 Tomcat 之类的 servlet/JSP 引擎中运行的 Servlet 和 JSP。必须根据 servlet/JSP 引擎文档来设置 classpath。仅在操作系统中设置 classpath 将无法正常工作。一些 servlet/JSP 引擎提供了设置屏幕,用于设置引擎的 classpath。在这种情况下,必须将正确的 JDBC Driver JAR 文件追加到现有的引擎 classpath,然后重新启动引擎。在其他情况下,通过在引擎安装期间将 sqljdbc.jar 文件复制到 lib 之类的特定目录,可以部署此驱动程序。也可以在引擎专用的配置文件中指定引擎驱动程序的 classpath。
所以我个人还是认为我的驱动安装出了问题,但不知道到底该如何在TOMCAT下装上SQL SERVER JDBC 2005的驱动,还请大家帮忙
有几点说明:
1. 我大环境是没问题的,连MySql 就OK
2. MSSQL 2005连接JSP注册驱动和连接字符我也是对的,这个和以前不同了,希望大家不要就此回答我
3. 我用的是MSSQL 2005的开发版,我查过这个 "到主机 的 TCP/IP 连接失败"的出错原因,我就是把
":1433"去掉好像还是这样的错误,网上说好像要打补丁,但MSSQL 2005难道也需要打补丁吗?
多谢大家帮忙!!!
tomcat-5.5.17 + jdk-1_5_0_8 + SQL Server 2005
我的驱动是SQL Server 2005 JDBC Driver(最新的驱动)
CLASSPATH:
%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar;
%CATALINA%\common\lib\servlet-api.jar;
%JAVA_HOME%\lib\sqljdbc.jar
connMSSQL.jsp:
<%
Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
String url= "jdbc:sqlserver://localhost:1433;databasename=demo;user=sa;password=101268";
Connection conn = DriverManager.getConnection(url);
Statement smt = conn.createStatement();
String sql = "select * from user";
ResultSet rs = smt.executeQuery(sql);
while(rs.next()){
out.println(rs.getString(1));
out.print("database is open,ok!");
}
smt.close();
conn.close();
%>
错误信息:
description The server encountered an internal error () that prevented it from fulfilling this request.
exception
org.apache.jasper.JasperException: Exception in JSP: /connMSSQL.jsp:5
2:<%
3: Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
4: String url="jdbc:sqlserver://localhost:1433;databasename=demo;user=sa;password=101268";
5: Connection conn = DriverManager.getConnection(url);
6: Statement smt = conn.createStatement();
7: String sql = "select * from user";
8: ResultSet rs = smt.executeQuery(sql);
Stacktrace:
org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:504)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:375)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:314)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:264)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
root cause
javax.servlet.ServletException: 到主机 的 TCP/IP 连接失败。 java.net.ConnectException: Connection refused: connect
....
我曾到MSDN查过"使用 JDBC 驱动程序"这一节 :
[http://msdn2.microsoft.com/zh-cn/library/ms378526.aspx]
唯一让我感觉出问题的就是这里:
Servlet 或 JSP:
在 Tomcat 之类的 servlet/JSP 引擎中运行的 Servlet 和 JSP。必须根据 servlet/JSP 引擎文档来设置 classpath。仅在操作系统中设置 classpath 将无法正常工作。一些 servlet/JSP 引擎提供了设置屏幕,用于设置引擎的 classpath。在这种情况下,必须将正确的 JDBC Driver JAR 文件追加到现有的引擎 classpath,然后重新启动引擎。在其他情况下,通过在引擎安装期间将 sqljdbc.jar 文件复制到 lib 之类的特定目录,可以部署此驱动程序。也可以在引擎专用的配置文件中指定引擎驱动程序的 classpath。
所以我个人还是认为我的驱动安装出了问题,但不知道到底该如何在TOMCAT下装上SQL SERVER JDBC 2005的驱动,还请大家帮忙
有几点说明:
1. 我大环境是没问题的,连MySql 就OK
2. MSSQL 2005连接JSP注册驱动和连接字符我也是对的,这个和以前不同了,希望大家不要就此回答我
3. 我用的是MSSQL 2005的开发版,我查过这个 "到主机 的 TCP/IP 连接失败"的出错原因,我就是把
":1433"去掉好像还是这样的错误,网上说好像要打补丁,但MSSQL 2005难道也需要打补丁吗?
多谢大家帮忙!!!
答!: 1:
本人已受此困扰好几天,万般无奈之下只好发出此贴,恳请大家抬手相助啊!!!
答!: 2:
"jdbc:sqlserver://localhost:1433;databasename=demo;user=sa;password=101268"
---------------------------------------------------------------------------------
"databasename"是不是应该写成"DatabaseName"呀!
---------------------------------------------------------------------------------
"databasename"是不是应该写成"DatabaseName"呀!
答!: 3:
使用jbuilder等IDE工具用一下或者使用Weblogic连接一下不就知道了么?
答!: 4:
databasename是否大小写这个没关系的,不过还是谢谢你
我在等等,如果还是不行 我就用zliner520所说的办法
早前我的Jbuilder 10 就已经卸了,如果等不到解决方法 我就再装起来试试!
我在等等,如果还是不行 我就用zliner520所说的办法
早前我的Jbuilder 10 就已经卸了,如果等不到解决方法 我就再装起来试试!
答!: 5:
今天一天都在线等哦 其实我想就是有人教教如何在TOMCAT下正确装了 SQL Server 2005 JDBC DRIVER 估计问题就该解决了...
相关JAVA教程:
internal compiler error:null 这是什么错 明天就交作业了 怎么半
jsp用哪种包上传文件比较好
RESIN服务器怎么更改源代码才能让http://www.9kf.net/?id=80中的?号变其他符号?第三张100分帖
错误修改后仍然报相同的错误
poi.jar实现导数据到Excel
AXIS发布Web Service报:Must include type attribute for Handler deployment!
怎么将光标自动定位在出错的文本框?java中
关于<html:link>的问题
大家帮忙解决一下一个系统的设计问题?
请多交流架构、设计角度,基础问题请到java基础版;框架问题请到框架、开元版;j2ee问题请到j2ee版
有关JBoss的课题
=========做一个服务器和客户端,但是怎么传image呢?=========