本文章旨在介紹如何使用最新JDBC連接SqlServer2005數據庫
一、下載安裝
1、SqlServer 2005 Express Edition
下載:http://msdn.microsoft.com/vstudio/express/sql/download/
安裝完數據庫后設置ICP/IP協議啟動,具體如下:
(1)打開SQL Server Configuration Manager
(2)轉到SQL Server 2005 Network Configuration->Protocols for SQLEXPRESS
(3)將TCP/IP設置為Enabled(啟用)
(4)雙擊TCP/IP項,轉到IP Addresses頁
(5)IP All中設置TCP Port為1433
(6)重新啟動服務
2、SqlServer2005數據庫JDBC驅動
下載:http://download.microsoft.com/download/d/2/e/d2e1ffb6-2cfa-4a62-a22d-a413cce93118/Download_SQL_JDBC_Driver.htm
安裝或者解壓,取得sqljdbc.jar文件,該文件即為JDBC驅動。將sqljdbc.jar放到classpath。(web application中放在WEB-INF/lib下)
二、連接數據庫SqlServer2005的java代碼
1、在tempdb中創建測試數據表格
use tempdb
CREATE TABLE dbo.Table_1
(
ID bigint NOT NULL,
NAME varchar(20) NOT NULL,
EMAIL varchar(50) NULL
) ON [PRIMARY]
2、測試使用數據庫連接
下面代碼創建了一個連接到數據庫的連接,及使用連接操作數據庫。
/*
* 創建日期 2006-6-1
*/
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;
/**
* @author Amei
* Amei's FreeSky Studio
*/
public class TestConnSql2k5Bean {
/**
* Log4J Logger for this class
*/
private static final Logger logger =
Logger.getLogger(TestConnSql2k5Bean.class);
private Connection conn = null;
public TestConnSql2k5Bean() {
super();
}
public void getConnection() {
try {
Class
.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver")
.newInstance();
String URL = "jdbc:sqlserver://localhost:1433;DatabaseName=tempdb";
String USER = "sa"; // 根據你自己設置的數據庫連接用戶進行設置
String PASSWORD = "sa"; // 根據你自己設置的數據庫連接密碼進行設置
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的連接代碼區別
寫連接代碼時需要注意2000和2005的不同:
1、連接SqlServer2000
Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver").newInstance();
URL = "jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=tempdb";
2、連接SqlServer2005
Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver").newInstance();
URL = "jdbc:sqlserver://localhost:1433;DatabaseName=tempdb";
注:詳細使用請參考MS JDBC中的官方文檔。
結束。
一、下載安裝
1、SqlServer 2005 Express Edition
下載:http://msdn.microsoft.com/vstudio/express/sql/download/
安裝完數據庫后設置ICP/IP協議啟動,具體如下:
(1)打開SQL Server Configuration Manager
(2)轉到SQL Server 2005 Network Configuration->Protocols for SQLEXPRESS
(3)將TCP/IP設置為Enabled(啟用)
(4)雙擊TCP/IP項,轉到IP Addresses頁
(5)IP All中設置TCP Port為1433
(6)重新啟動服務
2、SqlServer2005數據庫JDBC驅動
下載:http://download.microsoft.com/download/d/2/e/d2e1ffb6-2cfa-4a62-a22d-a413cce93118/Download_SQL_JDBC_Driver.htm
安裝或者解壓,取得sqljdbc.jar文件,該文件即為JDBC驅動。將sqljdbc.jar放到classpath。(web application中放在WEB-INF/lib下)
二、連接數據庫SqlServer2005的java代碼
1、在tempdb中創建測試數據表格
use tempdb
CREATE TABLE dbo.Table_1
(
ID bigint NOT NULL,
NAME varchar(20) NOT NULL,
EMAIL varchar(50) NULL
) ON [PRIMARY]
2、測試使用數據庫連接
下面代碼創建了一個連接到數據庫的連接,及使用連接操作數據庫。
/*
* 創建日期 2006-6-1
*/
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;
/**
* @author Amei
* Amei's FreeSky Studio
*/
public class TestConnSql2k5Bean {
/**
* Log4J Logger for this class
*/
private static final Logger logger =
Logger.getLogger(TestConnSql2k5Bean.class);
private Connection conn = null;
public TestConnSql2k5Bean() {
super();
}
public void getConnection() {
try {
Class
.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver")
.newInstance();
String URL = "jdbc:sqlserver://localhost:1433;DatabaseName=tempdb";
String USER = "sa"; // 根據你自己設置的數據庫連接用戶進行設置
String PASSWORD = "sa"; // 根據你自己設置的數據庫連接密碼進行設置
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的連接代碼區別
寫連接代碼時需要注意2000和2005的不同:
1、連接SqlServer2000
Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver").newInstance();
URL = "jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=tempdb";
2、連接SqlServer2005
Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver").newInstance();
URL = "jdbc:sqlserver://localhost:1433;DatabaseName=tempdb";
注:詳細使用請參考MS JDBC中的官方文檔。
結束。