准备工作
首先,要到微软网站下载Microsoft SQL Server 2005 JDBC Driver 2.0,下载完成后,解压,把目录里面的sqljdbc_2.0复制到%ProgramFiles%(具体看你的系统盘在哪个盘,如在C盘,则放在C:\Program Files,本文也以C:\Program Files为例)
设置 ClassPath
JDBC 驱动程序并未包含在 Java SDK 中。因此,如果要使用该驱动程序,必须将 classpath 设置为包含 sqljdbc4.jar 文件。如果 classpath 缺少 sqljdbc4.jar 项,应用程序将引发“找不到类”的常见异常。(注,因为本文章主要是针对sql2005,所以这里的驱动程序应该是sqljdbc4.jar,而不是网上说的sqljdbc.jar)
sqljdbc4.jar文件的安装位置如下:
<安装目录>\sqljdbc_<版本>\<语言>\sqljdbc4.jar
即:
C:\Program Files\sqljdbc_2.0\chs\sqljdbc4.jar
接下来设置ClassPath
右键“计算机”属性->高级系统设置->“高级”选项卡->环境变量->在用户变量里新建一个变量名为ClassPath,变量值为%ProgramFiles%\sqljdbc_2.0\chs\sqljdbc4.jar的用户变量->确定完成。
(注意: 在 Window 系统中,如果目录名长于 8.3 或文件夹名中包含空格,将导致 classpath 出现问题。如果怀疑存在这类问题,应暂时将 sqljdbc.jar 文件移动到名称简单的目录中,例如 C:\Temp
,更改 classpath,然后测试这样是否解决了问题。)
设置SQL Server服务器
我使用的是SQL Server 2005标准版SP2,这些都默认即可,一般不用配置。如果需要配置端口请看下面。
1、“开始”→“程序”→“Microsoft SQL Server 2005”→“配置工具”→“SQL Server 配置管理器”→“SQL Server 2005 网络配置”→“MSSQLSERVER 的协议”
2、如果“TCP/IP”没有启用,右键单击选择“启动”。
3、双击“TCP/IP”进入属性设置,在“IP 地址”里,可以配置“IPAll”中的“TCP 端口”,默认为1433。
4、重新启动SQL Server或者重启计算机。
在Eclipse中测试
1、打开Eclipse,“文件”→“新建”→“项目”→“Java 项目”,项目名为Test
2、在Eclipse中,选择“窗口”→“首选项...”→“Java”→“已安装的 JRE”,选择已安装的 JRE,点击“编辑”→“添加外部”,选择%ProgramFiles%\sqljdbc_2.0\chs\sqljdbc4.jar
3、在Test项目的“JRE 系统库”中可以看见sqljdbc.jar,如果没有可以
右键单击项目Test→“构建路径”→“配置构建路径...”→“Java 构建路径”→“库”→“添加外部 JAR...”,选择%ProgramFiles%\sqljdbc_2.0\chs\sqljdbc4.jar
编写Java代码,如下:
4、
1 import java.sql.*;
2
3 public class Test {
4 public static void main(String[] srg) {
5 String driverName = "com.microsoft.sqlserver.jdbc.SQLServerDriver"; //加载JDBC驱动
6 String dbURL = "jdbc:sqlserver://localhost:1433; DatabaseName=test"; //连接服务器和数据库test
7 String userName = "sa"; //默认用户名
8 String userPwd = "123456"; //密码
9 Connection dbConn;
10 try {
11 Class.forName(driverName);
12 dbConn = DriverManager.getConnection(dbURL, userName, userPwd);
13 System.out.println("Connection Successful!"); //如果连接成功 控制台输出Connection Successful!
14 } catch (Exception e) {
15 e.printStackTrace();
16 }
17 }
18 }
注:
1、因为SQL Express这个版本的服务器默认是禁用的并且端口号没有配置,所以要进行重新设置;但如果是其它版本的话,就不用再设置了,因为系统已经默认设置好了。
2、如果你以前用Java连接SQL Server 2000的话就要注意了:
在SQL Server 2000 中加载驱动和URL路径的语句是
jdbc.sqlserver.SQLServerDriver";
String dbURL = "jdbc:microsoft:sqlserver://localhost:1433; DatabaseName=sample";
而SQL Server 2005 中加载驱动和URL的语句则为
sqlserver.jdbc.SQLServerDriver";
String dbURL = "jdbc:sqlserver://localhost:1433; DatabaseName=sample";
如果写法错误将会找不到驱动。