接觸Java或者JSP,難免會使用到數據庫SQL Server 2000/2005(我使用2005標准版[9.0.3054]測試),經過自己的搜索和研究,使用JDBC連接SQL Server成功,特此整理方法(使用Eclipse 3.2)如下。
准備工作
首先,操作系統中安裝好SQL Server 2000/2005,如果系統中都裝有2000和2005版,記得停用一個,只開一個行了。
然後,到微軟網站下載Microsoft SQL Server 2005 JDBC Driver 1.1,也可以使用這個地址直接下載。
解壓sqljdbc_1.1.1501.101_chs.exe,把sqljdbc_1.1復制到%ProgramFiles%(如果系統在C盤則為C:Program Files)。
設置 Classpath
JDBC 驅動程序並未包含在 Java SDK 中。因此,如果要使用該驅動程序,必須將 classpath 設置為包含 sqljdbc.jar 文件。如果 classpath 缺少 sqljdbc.jar 項,應用程序將引發"找不到類"的常見異常。
sqljdbc.jar 文件的安裝位置如下:
<安裝目錄>sqljdbc_<版本><語言>sqljdbc.jar
下面是用於 Windows 應用程序的 CLASSPATH 語句實例:
CLASSPATH =.;%ProgramFiles%sqljdbc_1.1chssqljdbc.jar
下面是用於 Unix/Linux 應用程序的 CLASSPATH 語句實例:
CLASSPATH =.:/home/usr1/mssqlserver2005jdbc/Driver/sqljdbc_1.1/chs/sqljdbc.jar
注意: 在 Window 系統中,如果目錄名長於 8.3 或文件夾名中包含空格,將導致 classpath 出現問題。如果懷疑存在這類問題,應暫時將 sqljdbc.jar 文件移動到名稱簡單的目錄中,例如 C:Temp,更改 classpath,然後測試這樣是否解決了問題。
直接在命令提示符運行的應用程序
在操作系統中配置 classpath.將 sqljdbc.jar 追加到系統的 classpath 中。或者,使用 java -classpath 選項,可以在運行此應用程序的 Java 命令行上指定 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或者重啟計算機。
創建數據庫
打開"SQL Server Management Studio",登錄連接SQL Server服務器,新建數據庫,命名為test
在Eclipse中測試
1、打開Eclipse,"文件"→"新建"→"項目"→"Java 項目",項目名為Test
2、在Eclipse中,選擇"窗口"→"首選項…"→"Java"→"已安裝的 JRE",選擇已安裝的 JRE,點擊"編輯"→"添加外部",選擇%ProgramFiles%sqljdbc_1.1chssqljdbc.jar
3、在Test項目的"JRE 系統庫"中可以看見sqljdbc.jar,如果沒有可以右鍵單擊項目Test→"構建路徑"→"配置構建路徑…"→"Java 構建路徑"→"庫"→"添加外部 JAR…",選擇%ProgramFiles%sqljdbc_1.1chssqljdbc.jar
4、編寫Java代碼,如下:
import java.sql.*;
public class Test {
public static void main(String[] srg) {
String driverName = "com.microsoft.sqlserver.jdbc.SQLServerDriver"; //加載JDBC驅動
String dbURL = "jdbc:sqlserver://localhost:1433; DatabaseName=test"; //連接服務器和數據庫test
String userName = "sa"; //默認用戶名
String userPwd = "123456"; //密碼
Connection dbConn;
try {
Class.forName(driverName);
dbConn = DriverManager.getConnection(dbURL, userName, userPwd);
System.out.println("Connection Successful!"); //如果連接成功 控制台輸出Connection Successful!
} catch (Exception e) {
e.printStackTrace();
}
}
}
注:
1、因為SQL Express這個版本的服務器默認是禁用的並且端口號沒有配置,所以要進行重新設置
2、如果你以前用Java連接SQL Server 2000的話就要注意了:
在SQL Server 2000 中加載驅動和URL路徑的語句是
String driverName = "com.microsoft.jdbc.sqlserver.SQLServerDriver";
String dbURL = "jdbc:microsoft:sqlserver://localhost:1433; DatabaseName=sample";
而SQL Server 2005 中加載驅動和URL的語句則為
String driverName = "com.microsoft.sqlserver.jdbc.SQLServerDriver";
String dbURL = "jdbc:sqlserver://localhost:1433; DatabaseName=sample";
如果寫法錯誤將會找不到驅動。