出现上边错误的主要原因是默认的数据库服务器端口 1433没有打开,无法直接连接 。这时你在命令提示行中输入命令:netstat –an 来查看有没有tcp:0.0.0.0:1433,如果没有那就肯定是因为数据库服务器端口 1433端口没开。这时你需要下载SQL_Serve20000的sp3补丁,下载安装后会发现1433端口已经打开了,再次执行程序,顺利执行完毕。
上面是在一台电脑上执行的,接下来我将上面的程序放到另一台电脑(可认为是客户机,ip:192.168.1.2),用直连线将两台电脑连起来,这样原来的电脑就变成了数据库服务器(ip:192.168.1.1)。并且把程序中的语句一中的localhost改为192.168.1.1,其他不变。执行后又产生establishing socket异常。后来检查发现,在网上邻居中根本看不到对方计算机,然后重新设置网络并打开guest用户,放开权限。使网上邻居中能出现对方计算机,然后再次执行程序,顺利执行完毕。
IXDBA.NET技术社区
具体解决办法:
1、下载Microsoft SQL Server 2000 Service Pack 3a并安装,SQL请选用混和安装模式!!!
http://www.microsoft.com/downloads/details.aspx?FamilyId=90DCD52C-0488-4E46-AFBF-ACACE5369FA3&displaylang=zh-cn
2、下载SQL Server 2000 Driver for JDBC Service Pack 3
http://www.microsoft.com/downloads/details.aspx?FamilyId=07287B11-0502-461A-B138-2AA54BFDC03A&displaylang=en;下载后发现是EXE 文件,双击安装。默认安装目录:C:\Program Files\Microsoft SQL Server 2000 Driver for JDBC,其中C:\Program Files\Microsoft SQL Server 2000 Driver for JDBC\lib目录下的三个扩展名为.jar是我们要的驱动。然后配制环境变量:
在classpath这个环境变量里加入以下语句:
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;
如果你的机子上正确配制了JDK的环境变量就应该有CLASSPATH这个环境变量,若没有就新建一个。其实配环境变量的目的就是让系统能找到驱动程序,如果不配,执行下面一段代码时会产生无法找到驱动的异常,导致程序无法执行。
3、运行时关闭防火墙
你要先检查你的SQL server 端设置的端口是什么。默认的是1433。
mssql端口的修改:
在Program files -> Microsoft SQL Server -> Client Network Util,打开上楼上的窗口,TCP/IP选择属性,配置端口。
注意 不是Server Network Util,那个是给SQL SERVER 管理控制台用的。