使用JDBC串連SQL Server

來源:互聯網
上載者:User

標籤:

源文:http://bbs.bc-cn.net/dispbbs.asp?boardid=12&id=140292  整理:秋憶

接觸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.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,這些都預設即可,一般不用配置。如果需要配置連接埠請看下面。

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.1\chs\sqljdbc.jar
3、在Test項目的“JRE 系統庫”中可以看見
sqljdbc.jar,如果沒有可以按右鍵項目Test→“構建路徑”→“配置構建路徑...”→“Java 構建路徑”→“庫”→“添加外部 JAR...”,選擇%ProgramFiles%\sqljdbc_1.1\chs\sqljdbc.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";

如果寫法錯誤將會找不到驅動。

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


其它參考資料:
http://dev.csdn.net/author/yeno/3f06bf19b1c147198e00afa0af6bd0dc.html
http://www.baidu.com/s?wd=JDBC+for+SQL+Server+2005&cl=3

使用JDBC串連SQL Server

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.