解决java.sql.SQLException: [Microsoft][SQLServer 2000 Driver for JDBC]Error establishing socket异常

来源:互联网 发布:linux进程查看命令 top 编辑:程序博客网 时间:2024/06/07 17:30

    我们在用JDBC连接SQL Servers数据库的时候,遇到下面这个问题:

    java.sql.SQLException: [Microsoft][SQLServer 2000 Driver for JDBC]Error establishing socket

在查找原因之前,首先确保已经完成如下操作:

1、首先要确保安装了 sql server 2000,在xp 或win 2003下安装了  sql sp4 补丁(补丁非常重要,我就是一直没有给数据库打补丁不能连接的)。SP4补丁的下载地址是:http://www.microsoft.com/downloads/zh-cn/details.aspx?displaylang=zh-cn&FamilyID=8e2dfc8d-c20e-4446-99a9-b7f0213f8bc5

2.配置驱动。把安装驱动器目录下lib中的三个jar包msbase.jar、mssqlserver.jar、msutil.jar放到你的web 服务器的lib 下面(比如说Tomcat下面的lib文件夹下)。或者设置到环境变量classpath中(如果你不是建立web项目的话应该选择这个)。



出现此问题的可能原因如下:

可能原因1:端口不对。

解决办法:在SQL Server查询命令行下面输入:exec sys.sp_readerrorlog 0, 1, 'listening' 查看自己SQL Server端口号。本来SQL Server的默认端口是1433。我的偏不一样,出异常了的时候没想到是这个问题。


可能原因2:SQL Server 2005的SP4没有安装。这个问题貌似也会导致连接数据库的时候不能通过SQL    Servers身份验证的方式登录。

解决办法:安装SP4补丁。安装的时候安装在SQL Server下面就可以了。下载下来的补丁是可执行文件。


可能原因3:配置SQL的时候就不能通过SQL Servers身份验证的方式登录。简单地说就是使用SQL Server MangementStudio进入数据库的时候,当你选择了使用SQL Servers身份验证的方式登录不能登录成功。(你忘记了密码,不知道密码,或者是你没有启动那个账号作为你的登录账号)

解决办法:1.1先用Windows验证的方法进去数据库。右键点击 左边的根目录---》属性,进去服务器属性,点击”安全性“,然后在”服务器身份验证“里面选择SQL Server和Windows身份验证模式。确定保存。1.2在SQL Server Mangement的主界面中双击最左边的”安全性“,在展开的菜单里面选择”登录名“右键点击”sa“这个用户,打开属性菜单栏,在这个里面你可以设置sa的登录密码。最重要的是我们要点击”状态“栏,然后点击登录设置为”启用“。


0 0
原创粉丝点击