本文章旨在介绍如何使用最新JDBC连接SqlServer2005数据库 一、下载安装 1、SqlServer 2005 Express Edition 下载:[url]http://msdn.microsoft.com/vstudio/express/sql/download/[/url] 安装完数据库后设置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驱动 下载:[url]http://download.microsoft.com/download/d/2/e/d2e1ffb6-2cfa-4a62-a22d-a413cce93118/Download_SQL_JDBC_Driver.htm[/url] 安装或者解压,取得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中的官方文档。 结束。 |