接触Java或者JSP,难免会使用到数据库SQLServer2000/2005(我使用2005标准版[9.0.3054]测试),经过自己的搜索和研究,使用JDBC连接SQLServer成功,特此整理方法(使用Eclipse3.2)如下。
准备工作
首先,操作系统中安装好SQLServer2000/2005,如果系统中都装有2000和2005版,记得停用一个,只开一个行了。
然后,到微软网站下载MicrosoftSQLServer2005JDBCDriver1.1
解压sqljdbc_1.1.1501.101_chs.exe,把sqljdbc_1.1复制到%ProgramFiles%(如果系统在C盘则为C:\ProgramFiles)。
设置Classpath
JDBC驱动程序并未包含在JavaSDK中。因此,如果要使用该驱动程序,必须将classpath设置为包含sqljdbc.jar文件。如果classpath缺少sqljdbc.jar项,应用程序将引发“找不到类”的常见异常。
sqljdbc.jar文件的安装位置如下:
<安装目录>\sqljdbc_<版本>\<语言>\sqljdbc.jar
下面是用于Windows应用程序的CLASSPATH语句实例:
CLASSPATH=.;%ProgramFiles%\sqljdbc_1.1\chs\sqljdbc.jar
下面是用于Unix/Linux应用程序的CLASSPATH语句实例:
CLASSPATH=.:/home/usr1/mssqlserver2005jdbc/Driver/sqljdbc_1.1/chs/sqljdbc.jar
注意:在Window系统中,如果文件夹名中包含空格,将导致classpath出现问题。如果怀疑存在这类问题,应暂时将sqljdbc.jar文件移动到名称简单的目录中,例如C:\Temp,更改classpath,然后测试这样是否解决了问题。
直接在命令提示符运行的应用程序
在操作系统中配置classpath。将sqljdbc.jar追加到系统的classpath中。或者,使用java-classpath选项,可以在运行此应用程序的Java命令行上指定classpath。
设置SQLServer服务器
我使用的是SQLServer2005标准版SP2,这些都默认即可,一般不用配置。如果需要配置端口请看下面。
1、“开始”→“程序”→“MicrosoftSQLServer2005”→“配置工具”→“SQLServer配置管理器”→“SQLServer2005网络配置”→“MSSQLSERVER的协议”
2、如果“TCP/IP”没有启用,右键单击选择“启动”。
3、双击“TCP/IP”进入属性设置,在“IP地址”里,可以配置“IPAll”中的“TCP端口”,默认为1433。
4、重新启动SQLServer或者重启计算机。
创建数据库
打开“SQLServerManagementStudio”,登录连接SQLServer服务器,新建数据库,命名为test
在Eclipse中测试
1、打开Eclipse,“文件”→“新建”→“项目”→“Java项目”,项目名为Test
2、在Eclipse中,选择“窗口”→“首选项...”→“Java”→“已安装的JRE”,选择已安装的JRE,点击“编辑”→“添加外部”,选择%ProgramFiles%\sqljdbc_1.1\chs\sqljdbc.jar
3、在Test项目的“JRE系统库”中可以看见sqljdbc.jar,如果没有可以右键单击项目Test→“构建路径”→“配置构建路径...”→“Java构建路径”→“库”→“添加外部JAR...”,选择%ProgramFiles%\sqljdbc_1.1\chs\sqljdbc.jar
4、编写Java代码,如下:
importjava.sql.*;
publicclassTest{
publicstaticvoidmain(String[]srg){
StringdriverName="com.microsoft.sqlserver.jdbc.SQLServerDriver";//加载JDBC驱动
StringdbURL="jdbc:sqlserver://localhost:1433;DatabaseName=test";//连接服务器和数据库test
StringuserName="sa";//默认用户名
StringuserPwd="123456";//密码
ConnectiondbConn;
try{
Class.forName(driverName);
dbConn=DriverManager.getConnection(dbURL,userName,userPwd);
System.out.println("ConnectionSuccessful!");//如果连接成功控制台输出ConnectionSuccessful!
}catch(Exceptione){
e.printStackTrace();
}
}
}
注:
1、因为SQLExpress这个版本的服务器默认是禁用的并且端口号没有配置,所以要进行重新设置
2、如果你以前用Java连接SQLServer2000的话就要注意了:
在SQLServer2000中加载驱动和URL路径的语句是
StringdriverName="com.microsoft.jdbc.sqlserver.SQLServerDriver";
StringdbURL="jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=sample";
而SQLServer2005中加载驱动和URL的语句则为
StringdriverName="com.microsoft.sqlserver.jdbc.SQLServerDriver";
StringdbURL="jdbc:sqlserver://localhost:1433;DatabaseName=sample";
如果写法错误将会找不到驱动。
对于MicrosoftSQLServer2005JDBCDriver1.1,据我看官方文档就没有提及2000与2005的差别,相信都是按照2005的语句写法,我没有测试2000,如果朋友你测试到不一样请告诉我,谢谢!