2010年7月21日 星期三

[MS-Server]-JDBC連接SQL Server 2005

首先下載三個元件
1.Microsoft SQL Server 2005 Express Edition SP3
    安裝時要選混合認証,並為管理者帳號sa設立一組密碼。
2.SQL Server Management Studio 2005 SP3
3.SQL Server 2005 driver for JDBC
    解壓縮後得到的sqljdbc.jar置於jre/lib/ext下
    筆者實際安裝目錄:C:\Program Files\Java\jre6\lib\ext
    並在classpath下加入這行:C:\Program Files\Java\jre6\lib\ext\sqljdbc.jar
    這樣Class.forName時才找的到driver(後面程式碼會說明)。

接下來為了能夠透過TCP/IP來連接sql server還必需多做下列這個動作
   a.打開SQL Server Configuration Manager -> SQLEXPRESS的協議 -> TCP/IP
   b.右鍵單擊啟動TCP/IP
   c.雙擊進入內容,把IP地址中的IP all中的TCP端口設置為1433
   d.重新啟動SQL Server 2005服務中的SQLEXPRESS服務器
   e.關閉SQL Server Configuration Manager

開下來利用SQL Server Management Studio工具新增一個資料庫"Test"
新增兩個欄位及增加一筆值組如下:
field1   field2
----------------
data1   data2

接下來就是實際的存取範利程式碼
public static void main(String[] args) {
  Connection conn = null;
    try {
      Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
      String url = "jdbc:sqlserver://localhost:1433;DatabaseName=Test";
            
      String user = "sa";
      String password = "50321177";
      conn = DriverManager.getConnection(url, user, password);
      PreparedStatement ps = null;
      ResultSet rs = null;
      String sql = "SELECT * FROM table1";
      ps = conn.prepareStatement(sql);
      rs = ps.executeQuery();
      while (rs.next()) {
        System.out.println(rs.getString("field1"));
        System.out.println(rs.getString("field2"));
      }
      conn.close();
    } catch (Exception e) {
      e.printStackTrace();
  }
}

接下來是額外的補充
在SQL Server 2000 中加載driver和URL路徑的語法是
String driverName = "com.microsoft.jdbc.sqlserver.SQLServerDriver ";
String dbURL = "jdbc:microsoft:sqlserver://localhost:1433; DatabaseName=sample ";
而SQL Server 2005 中加載driver和URL路徑的語法是
String driverName = "com.microsoft.sqlserver.jdbc.SQLServerDriver ";
String dbURL = "jdbc:sqlserver://localhost:1433; DatabaseName=sample ";

沒有留言:

張貼留言