Java/JSP中使用JDBC鏈接SQL Server 2005~

接觸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 文件的安裝位置以下:html

<安裝目錄>\sqljdbc_<版本>\<語言>\sqljdbc.jarjava

下面是用於 Windows 應用程序的 CLASSPATH 語句實例:sql

CLASSPATH =.;%ProgramFiles%\sqljdbc_1.1\chs\sqljdbc.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,這些都默認便可,通常不用配置。若是須要配置端口請看下面。

一、「開始」→「程序」→「Microsoft SQL Server 2005」→「配置工具」→「SQL Server 配置管理器」→「SQL Server 2005 網絡配置」→「MSSQLSERVER 的協議」
二、若是「TCP/IP」沒有啓用,右鍵單擊選擇「啓動」。
三、雙擊「TCP/IP」進入屬性設置,在「IP 地址」裏,能夠配置「IPAll」中的「TCP 端口」,默認爲1433。
四、從新啓動SQL Server或者重啓計算機。


建立數據庫

打開「SQL Server Management Studio」,登陸鏈接SQL Server服務器,新建數據庫,命名爲test


在Eclipse中測試

一、打開Eclipse,「文件」→「新建」→「項目」→「Java 項目」,項目名爲Test
二、在Eclipse中,選擇「窗口」→「首選項...」→「Java」→「已安裝的 JRE」,選擇已安裝的 JRE,點擊「編輯」→「添加外部」,選擇%ProgramFiles% \sqljdbc_1.1\chs\sqljdbc.jar
三、在Test項目的「JRE 系統庫」中能夠看見
sqljdbc.jar,若是沒有能夠右鍵單擊項目Test→「構建路徑」→「配置構建路徑...」→「Java 構建路徑」→「庫」→「添加外部 JAR...」,選擇%ProgramFiles% \sqljdbc_1.1\chs\sqljdbc.jar
四、
編寫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;sqlserver

  try {
   Class.forName(driverName);
   dbConn = DriverManager.getConnection(dbURL, userName, userPwd);
   System.out.println("Connection Successful!");  //若是鏈接成功 控制檯輸出Connection Successful!
  } catch (Exception e) {
   e.printStackTrace();
  }
}
}


注:

一、由於SQL Express這個版本的服務器默認是禁用的而且端口號沒有配置,因此要進行從新設置測試

二、若是你之前用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";

若是寫法錯誤將會找不到驅動。

秋憶:對於Microsoft SQL Server 2005 JDBC Driver 1.1,據我看官方文檔就沒有說起2000與2005的差異,相信都是按照2005的語句寫法,我沒有測試2000,若是朋友你測試到不同請告訴我,謝謝!

 

轉載:http://www.cnblogs.com/xiazhi33/articles/935771.html

相關文章
相關標籤/搜索