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,如果不是改一下 --------------------编程问答--------------------
应该是
--------------------编程问答-------------------- 学习了 顶 --------------------编程问答-------------------- SQL 2005 TCP/IP 协议没有开!在2005中设置一下! --------------------编程问答-------------------- --------------------编程问答-------------------- 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