jdbc连接SQL Server2000

用惯了Mysql,还是放不下以前的SQL Server2000,为了用jdbc连接sql server2000数据库,本人愚钝,用了两天的时间,在此总结一下我遇到的坎坎坷坷,让现在的大虾们和以后的我哂笑,更希望能让那些学习和使用SQL2000的人,少走弯路,节省宝贵的学习时间。
我一开始使用的是 sql server2000(sp3)+myeclipse7.0+jdk1.5.0,把连接SQL所需的三个jar包:msbase.jar mssqlserver.jar msutil.jar贴到\\WEB-INF\lib下,这三个包我也Add Externa JARS into my project .运行时出现了[Microsoft][SQLServer 2000 Driver for JDBC]Error establishing socket的错误。

1,首先要确认sql server2000的版本要最新的,所以我到微软下载中心下载了SQL的最新补丁(sp4),它一共有三下,看自己所需,一般只为升级实例,选其中的SQL2000-KB884525-SP4-x86-CHS.EXE 就行了,运行解压后再运行里面的.dat文件,(在这时我的SQL默认端口1433应该在安装中就打开了,这在后来才知道)。安装完补丁后,打开SQL查询分析器,select @@version 版本果然是sp4了,再运行自己的连接测试程序,还是一样的错误。

2,Google了一下,有很多人说是jdk版本要升级到sp3,我就照下载了这个补丁,没有安装,搁在那里,因为我想我的jdk版本也够高了。有更多的人说的是端口1433没有打开的缘故,于是我cmd :netstat -an查看端口,“netstat不是内部或者是外部命令,也不是可运行的程序或批处理文件”,怎么会这样?那肯定是path中没有[url=file://windows/system32]\\windows\system32[/url]原因,添加了它,可以netstat了,果然port 1433 不存在,telnet 127.0.0.1 1433 也连接失败……,SQL本来是默认开放端口1433的,那肯定是防火墙屏蔽了这个端口,我就进入windoow防火墙->例外->添加端口:在名称中按照格式写入 SQL Server2000 <实例名>,端口号1433,确定了是Tcp,确定。在运行测试,依然是Error establishing socket!telnet 测试端口连接依然如故……我足够用的耐心,已经用到传说中的崩溃的边沿。

3,是不是SQL自己的内部错误哦?我查看了客户端网络实用工具tcp/ip已经启用了,端口号是默认的1433也没有错,看看服务器,我用的实例WEBKITTEN tcp/ip也启动了,端口号竟然是2830!天啦,这样也可以,环视一下,还好没有人看着我,赶快改成了1433,再启动测试程序,还是有错,不过改成了“拒绝了对对象 'book'(数据库 'jspdev',所有者 'dbo')的 SELECT 权限,”它只是说我用我自己新建的一个用户没有SELECT的权限,那我就不要statement了,直接System.out.println”Connection Successfu!l”;可以,成功了,回到企业管理器,看用户,果然最高权限用户为dbo,我把SELECT、INSERT、DELECT权限通通也分配给了我自己新建的用户,一测试,查询成功!
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值