CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
花落谁家,你作主! 盛大widget设计大赛英雄榜
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  Java >  J2EE / EJB / JMS

[在线求救]--JSP页面中访问SQL Server 2000数据库的“Error establishing socket”问题

楼主wanggangtjdx8211(疙瘩宝贝)2004-12-01 12:37:23 在 Java / J2EE / EJB / JMS 提问

我的机器是XP系统,安装了SP2补丁,服务器用的Tomcat。但是,不知为什么,却无法访问数据库。下面这个JSP页面中的代码是用来测试数据库连接的:  
  <%String   MM_DB011D_CONN_DRIVER   =   "com.microsoft.jdbc.sqlserver.SQLServerDriver";  
  String   MM_DB011D_CONN_USERNAME   =   "sa";  
  String   MM_DB011D_CONN_PASSWORD   =   "sa";  
  String   MM_DB011D_CONN_STRING   =   "jdbc:microsoft:sqlserver://127.0.0.1:1500;DatabaseName=DB011D";  
   
  Class.forName(MM_DB011D_CONN_DRIVER).newInstance();    
     
    Connection   conn=   DriverManager.getConnection(MM_DB011D_CONN_STRING,MM_DB011D_CONN_USERNAME,MM_DB011D_CONN_PASSWORD);  
  Statement   stmt=conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);  
  String   sql="select   P.Pid,P.Pname   from   PROJECT   P";  
  ResultSet   rs=stmt.executeQuery(sql);  
  %>  
      <select   name="Proj"   size="1"   id="Proj">  
      <option   selected></option>  
  <%   while(rs.next())   {%>  
                <option   value="<%=rs.getString(1)%>">   <%=rs.getString(2)%>   </option>  
  <%}%>  
    </select>  
  <%rs.close();  
  stmt.close();  
  conn.close();  
  %>  
  <%  
   
    Connection   conn_F=   DriverManager.getConnection(MM_DB011D_CONN_STRING,MM_DB011D_CONN_USERNAME,MM_DB011D_CONN_PASSWORD);  
  Statement   stmt_F=conn_F.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);  
  String   sql_F="select   F.Fid,F.Fname   from   FRIEND   F";  
  ResultSet   rs_F=stmt_F.executeQuery(sql_F);  
  %>  
      <select   name="Friend"   size="1"   id="Friend">  
          <option   selected></option>  
   
  <%   while(rs_F.next())   {%>  
                <option   value="<%=rs_F.getString(1)%>">   <%=rs_F.getString(2)%>   </option>  
  <%}%>  
    </select>  
  <%rs_F.close();  
  stmt_F.close();  
  conn_F.close();  
  %>  
    结果页面显示如下错误:  
  javax.servlet.ServletException:   [Microsoft][SQLServer   2000   Driver   for   JDBC]Error   establishing   socket  
    注:  
  1.Microsoft   SQL   Server   2000   Driver   for   JDBC的驱动程序已经安装  
  2.Microsoft   SQL   Server   2k   sp3也已经安装  
  2.SQL Server中已经将默认端口疫为1500(所以上面的代码用的才是1500端口)  
  3.环境变量配置如下:  
   JAVA_HOME:   D:\Program   Files\JBuilder9\jdk1.4  
      CATALINA_HOME: D:\Program   Files\Apache   Software   Foundation\Tomcat   5.0  
   CLASS_PATH:  .;%JAVA_HOME%\lib;%catalina_home%\common\lib;  
       c:\Program   Files\Microsoft   SQL   Server   2000   Driver   for   JDBC\lib\msbase.jar;  
       c:\Program   Files\Microsoft   SQL   Server   2000   Driver   for   JDBC\lib\mssqlserver.jar;  
       c:\Program   Files\Microsoft   SQL   Server   2000   Driver   for   JDBC\lib\msutil.jar;  
                      c:\Program   Files\Microsoft   SQL   Server   2000   Driver   for   JDBC\lib  
      在path中也把Tomcat和jdk下面的bin目录加了进去。  
  4.msbase.jar、mssqlserver.jar和msutil.jar三个文件也拷到了Tomcat\common\lib目录下。  
   
    可是,不管采用什么办法,却总是无法访问数据库,总是出现[Microsoft][SQLServer   2000   Driver   for   JDBC]Error   establishing   socket这个错误,真是郁闷死我了!  
    还望哪位大虾帮助解答一下,我现在是一点办法也没有了...  
  问题点数:100、回复次数:17Top

1 楼zyg158((DD)OTP)回复于 2004-12-01 12:43:47 得分 0

端口错误!!是"jdbc:microsoft:sqlserver://127.0.0.1:1433;DatabaseName=DB011D";Top

2 楼zyg158((DD)OTP)回复于 2004-12-01 12:45:36 得分 0

没看见中间的,当我没说过,嘿嘿Top

3 楼wanggangtjdx8211(疙瘩宝贝)回复于 2004-12-01 12:46:38 得分 0

我在网上看到很多类似我这样的问题,可是我照着上面说的解决办法做了,却还是出现这个问题,我现在都快急死了。哪位有经验的高手快帮帮忙啊!先谢谢了!Top

4 楼duanyuxy123(这几年)回复于 2004-12-01 12:48:09 得分 0

把端口该回1433试试Top

5 楼duanyuxy123(这几年)回复于 2004-12-01 12:48:33 得分 0

把默认端口该回1433试试  
  Top

6 楼jerrykey(钥匙)回复于 2004-12-01 12:51:36 得分 0

呵呵,端口号错了~Top

7 楼drugon(更高,更远,更强)回复于 2004-12-01 12:59:33 得分 0

你在CMD方式下输入netstat   -an看输出结果有没有1500那个端口在监听,如果没有的话,可能是你数据库没有启动或是有问题。比如用户名和密码不对。一般是不会将sa用户的密码设为sa的,你用这个用户名和密码先建一个ODBC看能不能连上。  
  然后查毒,也有这个可能,以前我就遇到过,他机子中毒了,出现和你同样的问题。Top

8 楼wanggangtjdx8211(疙瘩宝贝)回复于 2004-12-01 12:59:59 得分 0

我已经把SQL   Server的默认端口改成了1433,重新启动了SQL   Server和Tomcat,在页面的代码中也把1500端口改成了1433端口。可是还是打不开页面,仍然显示“[Microsoft][SQLServer   2000   Driver   for   JDBC]Error   establishing   socket”这个错误。  
    真是邪门了???Top

9 楼drugon(更高,更远,更强)回复于 2004-12-01 13:02:04 得分 0

CLASS_PATH不是这样写的,是classpath中间没有下划线的,大小写则没有关系。Top

10 楼jFresH_MaN(十一月的萧邦-夜曲)回复于 2004-12-01 13:09:24 得分 0

http://community.csdn.net/Expert/FAQ/FAQ_Index.asp?id=200247  
  楼主看看这个吧Top

11 楼wanggangtjdx8211(疙瘩宝贝)回复于 2004-12-01 13:10:16 得分 0

我在cmd方式下输入netstat   -an查了一下,结果如下:  
    Proto     Local   Address                     Foreign   Address                 State  
    TCP         0.0.0.0:135                         0.0.0.0:0                             LISTENING  
    TCP         0.0.0.0:445                         0.0.0.0:0                             LISTENING  
    TCP         0.0.0.0:2030                       0.0.0.0:0                             LISTENING  
    TCP         0.0.0.0:8009                       0.0.0.0:0                             LISTENING  
    TCP         0.0.0.0:8080                       0.0.0.0:0                             LISTENING  
    TCP         127.0.0.1:1025                   0.0.0.0:0                             LISTENING  
    TCP         127.0.0.1:1025                   127.0.0.1:2320                   TIME_WAIT  
    TCP         127.0.0.1:1025                   127.0.0.1:2324                   TIME_WAIT  
    TCP         127.0.0.1:1030                   0.0.0.0:0                             LISTENING  
    TCP         127.0.0.1:1036                   127.0.0.1:1025                   CLOSE_WAIT  
    TCP         127.0.0.1:8005                   0.0.0.0:0                             LISTENING  
    TCP         127.0.0.1:8080                   127.0.0.1:2325                   TIME_WAIT  
    TCP         192.168.0.81:139               0.0.0.0:0                             LISTENING  
    TCP         192.168.0.81:2277             61.186.252.133:80             TIME_WAIT  
    TCP         192.168.0.81:2285             61.186.252.130:80             TIME_WAIT  
    TCP         192.168.0.81:2293             61.186.252.136:80             TIME_WAIT  
    TCP         192.168.0.81:2297             61.186.252.136:80             TIME_WAIT  
    TCP         192.168.0.81:2299             61.186.252.136:80             TIME_WAIT  
    TCP         192.168.0.81:2301             61.186.252.136:80             TIME_WAIT  
    TCP         192.168.0.81:2305             61.186.252.136:80             TIME_WAIT  
    TCP         192.168.0.81:2309             61.186.252.130:80             TIME_WAIT  
    TCP         192.168.0.81:2311             61.186.252.136:80             TIME_WAIT  
    TCP         192.168.0.81:2314             61.186.252.136:80             TIME_WAIT  
    TCP         192.168.0.81:2316             61.186.252.136:80             TIME_WAIT  
    TCP         192.168.0.81:2318             61.186.252.136:80             TIME_WAIT  
    TCP         192.168.0.81:2319             64.233.167.99:80               TIME_WAIT  
    TCP         192.168.0.81:2323             61.186.252.136:80             FIN_WAIT_1  
    UDP         0.0.0.0:445                         *:*  
    UDP         0.0.0.0:500                         *:*  
    UDP         0.0.0.0:1035                       *:*  
    UDP         0.0.0.0:2175                       *:*  
    UDP         0.0.0.0:4000                       *:*  
    UDP         0.0.0.0:4500                       *:*  
    UDP         0.0.0.0:6000                       *:*  
    UDP         0.0.0.0:6001                       *:*  
    UDP         127.0.0.1:123                     *:*  
    UDP         127.0.0.1:1032                   *:*  
    UDP         127.0.0.1:1037                   *:*  
    UDP         127.0.0.1:1043                   *:*  
    UDP         127.0.0.1:1900                   *:*  
    UDP         127.0.0.1:1906                   *:*  
    UDP         127.0.0.1:1984                   *:*  
    UDP         192.168.0.81:123               *:*  
    UDP         192.168.0.81:137               *:*  
    UDP         192.168.0.81:138               *:*  
    UDP         192.168.0.81:1900             *:*  
    好像没看到1500端口。  
    另外,我把class_path改成了classpath,还是不行...Top

12 楼drugon(更高,更远,更强)回复于 2004-12-01 13:25:34 得分 30

TCP         0.0.0.0:1500                         0.0.0.0:0                             LISTENING  
  TCP         0.0.0.0:1433                         0.0.0.0:0                             LISTENING  
  没有类似上面这两行,这说明你的数据库没有启动,这个端口没有监听,所以你的代码连不上数据库了。如果你确定你的数据库启动了,那么极有可能是你机子中毒了。查毒。Top

13 楼wanggangtjdx8211(疙瘩宝贝)回复于 2004-12-01 13:58:37 得分 0

我看了一下事件查看器,里面有这样的事件信息:  
  “(来源:MSSQLSERVER/MSDE)您正在运行的   Microsoft   SQL   Server   2000   或   Microsoft   SQL   Server   2000   桌面引擎(又称   MSDE)的版本包含已知的与   Windows   的   此版本一起使用时的漏洞。要减少计算机的漏洞,免受特定病毒   攻击,应该禁用   Microsoft   SQL   Server   2000、MSDE   (或同时)的     TCP/IP   和   UDP   网络端口。要启用这些端口,您必须从   http://www.microsoft.com/sql/downloads/default.asp     安装修补程序,或   Microsoft   SQL   Server   2000   或   MSDE   的   最新   service   pack。”  
    我到微软的网站上下载了Microsoft   SQL   Server   2000   Service   Pack   3a,包括三个程序:  
    chs_sql2kasp3.exe、chs_sql2kdesksp3.exe和chs_sql2ksp3.exe  
    我都装上了。但是再次在命令行输入“netstat   -an”时,1433端口还是没有开...  
    现在应该怎么办?我没主意了...  
  Top

14 楼wanggangtjdx8211(疙瘩宝贝)回复于 2004-12-01 14:16:31 得分 0

请大家一定帮帮忙啊!  
  我现在已经把SQL   Server   2000删除了,打算再重装一遍...Top

15 楼bluemeteor(挂月||Becoder)回复于 2004-12-01 14:28:39 得分 50

常见问题...打SP补丁就可以了.....Top

16 楼dropship(光荣与梦想)回复于 2004-12-01 15:38:06 得分 20

楼上正解。打上sql   的补丁3以上就OK了Top

17 楼wanggangtjdx8211(疙瘩宝贝)回复于 2004-12-01 16:41:45 得分 0

谢谢大家,我又重新装了一遍SQL   Server   2000   for   2003,同时打上了SQL   Server   2000   SP3补丁,现在已经OK了。  
    非常感谢!Top

相关问题

  • 急问:sql server 2000 Error establishing socket 错误??
  • jsp与SQL Server
  • JSP连接SQL2000中出现Error establishing socket错误
  • jsp + ms sql server 2000
  • jsp 连接SQL 2000?
  • jsp中sql2000的连接出了什么问题?(Error establishing socket) 急!在线等!
  • 难道可用JSP+SQL Sever?
  • 100分=jsp/servlet + SessionBean + EntityBean + SQL
  • JSP中的SQL问题!
  • jsp连接SQL SERVER7.0/2000问题?

关键词

  • sql server 2000
  • 端口
  • 数据库
  • 页面
  • tcp
  • 代码
  • jdbc
  • sqlserver
  • mssqlserver
  • 安装

得分解答快速导航

  • 帖主:wanggangtjdx8211
  • drugon
  • bluemeteor
  • dropship

相关链接

  • CSDN Java频道
  • Java类图书
  • Java类源码下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
GongshangLogo