当前位置:编程学习 > JAVA >>

jsp连接SQLserver2005数据库的问题

我的一个jsp项目已经加载了SQLserverjdbc.jar
但是运行时出现了如下问题:
com.microsoft.sqlserver.jdbc.SQLServerException: 到主机  的 TCP/IP 连接失败。 java.net.ConnectException: Connection refused: connect
        at com.microsoft.sqlserver.jdbc.SQLServerException.makeFromDriverError(Unknown Source)
        at com.microsoft.sqlserver.jdbc.SQLServerConnection.connectHelper(Unknown Source)
        at com.microsoft.sqlserver.jdbc.SQLServerConnection.loginWithoutFailover(Unknown Source)
        at com.microsoft.sqlserver.jdbc.SQLServerConnection.connect(Unknown Source)
        at com.microsoft.sqlserver.jdbc.SQLServerDriver.connect(Unknown Source)
        at java.sql.DriverManager.getConnection(DriverManager.java:582)
        at java.sql.DriverManager.getConnection(DriverManager.java:185)
        at s2jsp.xmal.dao.BaseDao.getConn(BaseDao.java:20)
        at s2jsp.xmal.dao.UserDao.findByUname(UserDao.java:29)
        at s2jsp.xmal.biz.UserBiz.findByUname(UserBiz.java:20)
        at org.apache.jsp.doLogin_jsp._jspService(doLogin_jsp.java:62)
        at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
        at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:374)
        at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:342)
        at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:267)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
        at org.netbeans.modules.web.monitor.server.MonitorFilter.doFilter(MonitorFilter.java:390)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
        at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
        at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
        at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
        at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
        at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
        at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:286)
        at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:845)
        at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583)
        at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
        at java.lang.Thread.run(Thread.java:619)
com.microsoft.sqlserver.jdbc.SQLServerException: 到主机  的 TCP/IP 连接失败。 java.net.ConnectException: Connection refused: connect
        at com.microsoft.sqlserver.jdbc.SQLServerException.makeFromDriverError(Unknown Source)
        at com.microsoft.sqlserver.jdbc.SQLServerConnection.connectHelper(Unknown Source)
        at com.microsoft.sqlserver.jdbc.SQLServerConnection.loginWithoutFailover(Unknown Source)
        at com.microsoft.sqlserver.jdbc.SQLServerConnection.connect(Unknown Source)
        at com.microsoft.sqlserver.jdbc.SQLServerDriver.connect(Unknown Source)
        at java.sql.DriverManager.getConnection(DriverManager.java:582)
        at java.sql.DriverManager.getConnection(DriverManager.java:185)
        at s2jsp.xmal.dao.BaseDao.getConn(BaseDao.java:20)
        at s2jsp.xmal.dao.UserDao.findByUname(UserDao.java:29)
        at s2jsp.xmal.biz.UserBiz.findByUname(UserBiz.java:20)
        at org.apache.jsp.doLogin_jsp._jspService(doLogin_jsp.java:62)
        at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
        at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:374)
        at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:342)
        at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:267)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
        at org.netbeans.modules.web.monitor.server.MonitorFilter.doFilter(MonitorFilter.java:390)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
        at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
        at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
        at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
        at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
        at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
        at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:286)
        at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:845)
        at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583)
        at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
        at java.lang.Thread.run(Thread.java:619)
请各位前辈们多多指教! --------------------编程问答-------------------- 看一下你的数据库的tcp/ip协议开了没 --------------------编程问答-------------------- 你是什么系统??刚好我今天也出现了这个问题 ,但是现在解决了
如果是WinXP---就只能用纯JAVA模式
要创建数据源

如果是Win2003 
Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
String url= "jdbc:sqlserver://localhost:1433;databaseName=??;user=sa;password=";
??数据库名

不好意思哈  说的不详细  
--------------------编程问答-------------------- 这个错跟系统有关? --------------------编程问答-------------------- 我的是XP系统  今天下午好像也出现和你一样的错误啊
你说下你什么系统的 --------------------编程问答-------------------- 客户端能不能连啊。什么防火墙啊之类的关了咯。 --------------------编程问答-------------------- 还是感觉它的数据库tcp/ip协议未开 --------------------编程问答-------------------- sqlserver的TCP/IP协议未开启 
开启之后重启服务就好了 --------------------编程问答-------------------- 可能是是你的数据库的TCP/ip协议没有开,在你的数据库外围配置里面吧tcp/ip的协议开了  就可以了
--------------------编程问答-------------------- 1.把数据库的TCP/ip协议设置为启用
2.如果第一个方法还不行,检查你的数据库服务监听端口是否1433,如果不是改一下 --------------------编程问答--------------------
引用 8 楼 liu4648125 的回复:
可能是是你的数据库的TCP/ip协议没有开,在你的数据库外围配置里面吧tcp/ip的协议开了  就可以了


 应该是
--------------------编程问答-------------------- 学习了  顶 --------------------编程问答-------------------- SQL 2005 TCP/IP 协议没有开!在2005中设置一下! --------------------编程问答-------------------- --------------------编程问答-------------------- 2005也要打补丁哦 --------------------编程问答--------------------
引用 14 楼 zhangjihao 的回复:
2005也要打补丁哦


不用的,我试过的 --------------------编程问答-------------------- 建议使用微软提供的 JDBC 驱动 sqljdbc4.jar
http://www.microsoft.com/downloads/details.aspx?familyid=e22bc83b-32ff-4474-a44a-22b6ae2c4e17&displaylang=zh-cn
确认 SQL 启动正常
确认 SQL 能够被 C/S 模式下客户端访问,最简单的就是用 telnet <port> 命令测试端口是否开启
其他内容可参考 http://blog.csdn.net/joyous --------------------编程问答-------------------- xp系统易出现这个问题的,你看下你的端口是否正确,默认的是1433,
如果不是的话就重装下机子,或换成其他操作系统 --------------------编程问答-------------------- 把数据库中的TCP/IP协议打开,然后进去把1433端口开启,即可。
设置协议在:配置工具里的 SQL Server Configuration Manager 里设置。 --------------------编程问答-------------------- 数据库中的TCP/IP协议  LS正解
就是要改成1433  原来的是0  有些设置被SQLServer默认关闭的
我也是这样的
补充:Java ,  Java EE
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,