這里將介紹JSP JDBC來(lái)連接SQL Server 2005的方法,JDBC是Java代碼和SQL數(shù)據(jù)庫(kù)之間的一座橋梁。希望本文能對(duì)大家使用JDBC有幫助。
一、下載安裝
1、SQL Server 2005 Express Edition
下載:http://msdn.microsoft.com/vstudio/express/sql/download/
安裝完數(shù)據(jù)庫(kù)后設(shè)置ICP/IP協(xié)議啟動(dòng),具體如下:
(1)打開(kāi)SQL Server Configuration Manager
(2)轉(zhuǎn)到SQL Server 2005 Network Configuration->Protocols for SQLEXPRESS
(3)將TCP/IP設(shè)置為Enabled(啟用)
(4)雙擊TCP/IP項(xiàng),轉(zhuǎn)到IP Addresses頁(yè)
(5)IP All中設(shè)置TCP Port為1433
(6)重新啟動(dòng)服務(wù)
2、SQL Server2005數(shù)據(jù)庫(kù)JSP JDBC驅(qū)動(dòng)
下載:http://download.microsoft.com/download/1/c/a/1cae7cc0-c010-4e0c-b1b8-7915360ee0b9/sqljdbc_1.0.809.102_chs.exe
安裝或者解壓,取得sqljdbc.jar文件,該文件即為JDBC驅(qū)動(dòng)。將sqljdbc.jar放到classpath。(web application中放在WEB-INF/lib下)
二、連接數(shù)據(jù)庫(kù)SQL Server2005的Java代碼
1、在tempdb中創(chuàng)建測(cè)試數(shù)據(jù)表格
- use tempdb
- CREATE TABLE dbo.Table_1
- (
- ID bigint NOT NULL,
- NAME varchar(20) NOT NULL,
- EMAIL varchar(50) NULL
- ) ON [PRIMARY]
2、測(cè)試使用數(shù)據(jù)庫(kù)連接
下面代碼創(chuàng)建了一個(gè)連接到數(shù)據(jù)庫(kù)的連接,及使用連接操作數(shù)據(jù)庫(kù)。
- package cn.afss.common.web.test;
-
- import java.sql.Connection;
- import java.sql.DriverManager;
- import java.sql.ResultSet;
- import java.sql.SQLException;
- import java.sql.Statement;
-
- import org.apache.log4j.Logger;
-
-
- public class TestConnSql2k5Bean {
-
- private static final Logger logger =
- Logger.getLogger(TestConnSql2k5Bean.class);
- private Connection conn = null;
-
- public TestConnSql2k5Bean() {
- super();
- }
-
- public void getConnection() {
- try {
- Class
- .forName("com.microsoft.SQL Server.jdbc.SQL ServerDriver")
- .newInstance();
- String URL = "jdbc:SQL Server://localhost:1433;DatabaseName=tempdb";
- String USER = "sa";
- String PASSWORD = "123456";
- conn = DriverManager.getConnection(URL, USER, PASSWORD);
- } catch (java.lang.ClassNotFoundException ce) {
- logger.error("Get Connection error:", ce);
- } catch (java.sql.SQLException se) {
- logger.error("Get Connection error:", se);
- } catch (Exception e) {
- logger.error("Get Connection error:", e);
- }
- }
-
- public void testConnection() {
- if (conn == null)
- this.getConnection();
- try {
- String sql = "SELECT * FROM TABLE_1";
- Statement stmt = conn.createStatement();
- ResultSet rs = stmt.executeQuery(sql);
- while (rs.next()) {
- logger.debug(rs.getString("ID"));
- logger.debug(rs.getString("NAME"));
- logger.debug(rs.getString("EMAIL"));
- }
- rs.close();
- stmt.close();
- } catch (SQLException e) {
- logger.error(e.getMessage(), e);
- } finally {
- if (conn != null)
- try {
- conn.close();
- } catch (SQLException e) {
- }
- }
- }
- public static void main(String[] args) {
- TestConnSql2k5Bean bean = new TestConnSql2k5Bean();
- bean.testConnection();
- }
- }
三、SQL Server2000和2005的連接代碼區(qū)別
寫(xiě)連接代碼時(shí)需要注意2000和2005的不同:
1、JSP JDBC連接SQL Server2000
- Class.forName("com.microsoft.jdbc.SQL Server.SQL ServerDriver").newInstance();
- URL = "jdbc:microsoft:SQL Server://localhost:1433;DatabaseName=tempdb";
2、JSP JDBC連接SQL Server2005
- Class.forName("com.microsoft.SQL Server.jdbc.SQL ServerDriver").newInstance();
- URL = "jdbc:SQL Server://localhost:1433;DatabaseName=tempdb";