SQL Server 是一个关系数据库管理系统。它最初是由Microsoft、Sybase 和Ashton-Tate三家公司共同开发的,于1988 年推出了第一个OS/2版本。在Windows NT 推出后,Microsoft与Sybase 在SQL Server 的开发上就分道扬镳了,Microsoft 将SQL Server移植到Windows NT系统上,专注于开发推广SQL Server 的Windows NT 版本。
1、下载JDBC,地址为:www.microsoft.com/zh-cn/download/details.aspx?id=21599
2、解压之后存在两个jar包分为为sqljdbc.jar和sqljdbc4.jar,本文采用sqljdbc4.jar
3、配置sa身份验证,由于安装时sqlServer2008是以windows身份验证安装的因此要添加用户,具体步骤如下操作:
(1)打开Microsoft SQL Server Managerment Studio并以windows验证方式登录,左侧的对象资源管理器->安全性->登录名,右击sa->属性,为sa用户添加密码,选择sqlServer身份验证,在"状态"选项中授予连接到数据库和登录启用.
(2)右击对象资源管理器的根节点,选择属性->安全性->sqlServer和windows身份验证模式,这样就为sql server 2008创建了以sql server身份验证的用户sa.
工具类,代码如下:
package com.test; import java.sql.Connection; import java.sql.DriverManager; import java.sql.SQLException; /** * www.yoodb.com */ public class DatabaseConn { private Connection conn; private String url = "jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=dbname"; private String classforname = "com.microsoft.jdbc.sqlserver.SQLServerDriver"; private String username = "sa"; private String password = "password"; public DatabaseConn() { } public Connection getConnection() { try { Class.forName(classforname); if (conn == null || conn.isClosed()) conn = DriverManager.getConnection(url, username, password); } catch (ClassNotFoundException ex) { ex.printStackTrace(); } catch (SQLException ex) { ex.printStackTrace(); } return conn; } }
请将localhost和1433改成你实际应用中的SQL Server服务器地址和端口号,dbname改成你实际的数据库名
测试类,代码如下:
package com.test; import java.sql.Connection; import java.sql.ResultSet; import java.sql.Statement; /** * www.yoodb.com */ public class Test { public static void main(String[] args){ Connection con = null; Statement stmt = null; ResultSet rs = null; try { String sql = "select * from test"; con = new DatabaseConn().getConnection(); stmt = con.createStatement(); rs = stmt.executeQuery(sql); while (rs.next()) { System.out.println(rs.getString(2) + "-->" + rs.getString(3)); } }catch (Exception e) { e.printStackTrace(); }finally { if (rs != null) try { rs.close(); } catch (Exception e) { } if (stmt != null) try { stmt.close(); } catch (Exception e) { } if (con != null) try { con.close(); } catch (Exception e) { } } } }