SQL Server 2000的JDBC连接问题解决方法

经过好几天的奋战,JDBC终于成功连接了SQL Server 2000,期间走了不少弯路,在这里分享我的一点经验

一、我的环境

Windows XP+JDK6u15+Microsoft SQL Server 2000(SP4)+JCreator

我先在网上下载数据库驱动程序,目录下有三个包msbase.jar mssqlserver.jar msutil.jar
1、在命令行下编译运行,配置环境变量 将这三个包的路径加入CLASSPATH中

(我是直接将这3个包复制到E:/Java/lib/ext文件夹下,因为这是我的Java安装目录)
2、在JCreator中 配置 选项 JDK配置文件 编辑 添加存档路径 添加三个包
3、在Eclipse此中 选择项目的构建路径——库—— 添加外部JAR 将这三个添加进去

(2、3没试过,因为我一般添加额外的JAR文件包都是放入上面说的那个目录中的也就是classpath)

二、出现的问题及解决办法
1、是不是出现了Error establishing socket之类的错误 呵呵
这是因为连接数据库的1433端口没打开 我们必须要下载SP4的补丁
http://www.microsoft.com/downloads/details.aspx?FamilyID=8e2dfc8d-c20e-4446-99a9-b7f0213f8bc5&DisplayLang=zh-cn
事实上我就是下载的SP4补丁,将

SQL2000.AS-KB884525-SP4-x86-CHS.EXE,

SQL2000.MSDE-KB884525-SP4-x86-CHS.EXE,

SQL2000-KB884525-SP4-x86-CHS.EXE

这3个文件全部下载,然后全部解压,最后运行setup.bat文件,就可以安装SP4补丁了。完了之后试试看程序,真OK了!

三、补充
写连接代码时需要注意2000和2005的不同:
1、连接SqlServer2000
Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");
URL = "jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=tempdb";
2、连接SqlServer2005
Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
URL = "jdbc:sqlserver://localhost:1433;DatabaseName=tempdb";

你可能感兴趣的:(SQL Server 2000)