转:使用JDBC访问SQL Server 2005
1.去下载一个SQL Server用的JDBC驱动。直接去微软下载就行,下载下来是一个exe文件,运行那个exe把文件解压到随便一个文件夹,取里面的sqljdbc4.jar和sqljdbc.jar备用。微软官方下载(下载下来的是个同意协议,然后在下载,个人喜欢官网的,有说明)
2.配置SQL Server 2005 。在SQL Server 2005中,默认不开启TCP/IP协议,此步主要是开启协议并使SQL Server接受远程访问。具体步骤如下:
(1)打开SQLServer配置管理器(SQLServer Configuration Manager),在配置管理器重转到SQL Server 2005 网络配置(SQL Server 2005 Network Configuration)下面的SQLEXPRESS协议(Protocols for SQLEXPRESS)。
(2)双击TCP/IP那一项打开TCP/IP属性。将”已启用(Enable)”那一项置为“是”。切换到“IP 地址”选项卡,将“IP ALL”中的“TCP 端口(TCP Port)”设置为1433,然后确定。
(3)打开SQL Server 外围应用配置器(SQLServer Surface Area Configuration),然后打开“服务和连接的外围应用配置器”,转到SQLEXPRESS->Database Engine->远程连接,选择“本地链接和远程连接”下面的“仅使用TCP/IP”或者“同时使用TCP/IP和named pipes”,这里我选择了前者,然后应用,确定。
(4)重新启动SQLServer服务。
(5) 可以用telnet 命令测试下是否连接
telnet 127.0.0.1 1433(telnet 命令不懂,百度)
3.测试连接。会的同学请跳过~~
(1)在SQLServer Management Studio Express中建立数据库testDB(名字随便起,数据表也随便),在testDB中建表
- CREATE TABLE user
- (
- ID bigint NOT NULL,
- Name varchar(20) NOT NULL,
- Email varchar(50) NULL
- )
然后随便往表里加几条数据。
(2)建个java application工程(我用的eclipse,其他IDE雷同),把SQLServer驱动导入工程,注意,如果你使用的JDK6,那么导入sqljdbc4.jar,如果是低版本的JDK导入sqljdbc.jar,不要弄错,否则连接时会报错。
(3)使用JDBC访问SQLServer的测试程序代码。
package jdbc;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
public class Test {
private Connection conn = null;
public Test() {
super();
}
public void getConnection() {
try {
Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver")
.newInstance();
String URL = "jdbc:sqlserver://localhost:1433;DatabaseName=testDB";
String USER = "sa"; // 根据你自己设置的数据库连接用户进行设置
String PASSWORD = "123"; // 根据你自己设置的数据库连接密码进行设置
conn = DriverManager.getConnection(URL, USER, PASSWORD);
} catch (java.lang.ClassNotFoundException ce) {
System.out.println("Get Connection error:");
ce.printStackTrace();
} catch (java.sql.SQLException se) {
System.out.println("Get Connection error:");
se.printStackTrace();
} catch (Exception e) {
System.out.println("Get Connection error:");
e.printStackTrace();
}
}
public void testConnection() {
if (conn == null)
this.getConnection();
try {
String sql = "SELECT * FROM user";
Statement stmt = conn.createStatement();
ResultSet rs = stmt.executeQuery(sql);
while (rs.next()) {
System.out.print(rs.getString("ID") + " ");
System.out.print(rs.getString("Name") + " ");
System.out.println(rs.getString("Email"));
}
rs.close();
stmt.close();
} catch (SQLException e) {
System.out.println(e.getMessage());
e.printStackTrace();
} finally {
if (conn != null)
try {
conn.close();
} catch (SQLException e) {
}
}
}
public static void main(String[] args) {
Test bean = new Test();
bean.testConnection();
}
}
Class.forName(”com.microsoft.sqlserver.jdbc.SQLServerDriver”).newInstance();
String URL = “jdbc:sqlserver://localhost:1433;DatabaseName=数据库名称”;