使用JDBC访问SQL Server 2005

开发 后端
毕业设计要用到J2EE做B/S/S架构的系统,本来导师说着要用Oracle数据库来着,我觉得Oracle不如SQL Server简单易用,就换了SQLServer 2005 。这里还是为大家讲讲使用JDBC访问SQL Server 2005。

记得以前做数据库的课程设计时,想用JDBC访问SQL Server 2005来着,但用JDBC怎么都连不上,后来放弃了SQL Server选用了MySQL。现在又是同样的问题,在java程序里使用JDBC总是建立连接失败,经过一段时间的搜寻,找到了解决方法,贴出来给广大遇到同样问题的同胞。

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,然后确定。
启用TCP/IP

设置TCP端口
(3)打开SQL Server 外围应用配置器(SQLServer Surface Area Configuration),然后打开“服务和连接的外围应用配置器”,转到SQLEXPRESS->Database Engine->远程连接,选择“本地链接和远程连接”下面的“仅使用TCP/IP”或者“同时使用TCP/IP和named pipes”,这里我选择了前者,然后应用,确定。

仅使用TCP/IP

(4)重新启动SQLServer服务。

3.测试连接。会的同学请跳过~~

(1)在SQLServer Management Studio Express中建立数据库testDB(名字随便起,数据表也随便),在testDB中建表

  1. CREATE TABLE user 
  2. (  
  3. ID bigint NOT NULL,  
  4. Name varchar(20) NOT NULL,  
  5. Email varchar(50) NULL 

然后随便往表里加几条数据。

(2)建个java application工程(我用的eclipse,其他IDE雷同),把SQLServer驱动导入工程,注意,如果你使用的JDK6,那么导入sqljdbc4.jar,如果是低版本的JDK导入sqljdbc.jar,不要弄错,否则连接时会报错。

(3)使用JDBC访问SQLServer的测试程序代码。

?[Copy to clipboard]View Code JAVA
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
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();
	 }
}
(4)运行程序,没啥意外的话应该就OK了。连接代码与SQLServer2000的有所不同。这两句可以记下来备用~
Class.forName(”com.microsoft.sqlserver.jdbc.SQLServerDriver”).newInstance();
String URL = “jdbc:sqlserver://localhost:1433;DatabaseName=数据库名称”;
JDBC访问SQL Server 2005设置完毕。

【编辑推荐】

  1. 谈谈优化JDBC数据库编程
  2. 实例说明对MySQL的JDBC连接设置
  3. 浅谈如何利用JSP网页中JDBC代码连接MySQL
  4. 浅谈JDBC代码如何重复使用
  5. 如何进行Jython数据库插入(JDBC)
责任编辑:彭凡 来源: sakurasea.com
相关推荐

2010-06-17 15:24:51

SQL SERVER

2011-08-02 13:44:49

JSPJDBCSQL Server

2009-07-22 13:49:40

JSP JDBC

2009-07-23 13:37:45

JDBC连接SQL S

2009-07-07 17:42:28

2011-08-23 15:56:19

SQL Server Oracle 11g

2010-07-23 12:55:29

SQL Server

2011-08-11 09:12:31

SQL Server nolock

2011-08-30 16:52:22

IP访问SQL Ser

2010-07-09 11:06:13

SQL Server

2011-04-18 13:02:08

SQL Server SQL Server

2011-02-28 17:41:20

SQL Server

2011-03-28 12:50:45

SQL Server CE基础

2009-06-08 09:22:07

数据访问优化SQL Server

2010-07-06 10:36:35

SQL Server

2010-07-14 17:32:53

SQL Server

2010-06-17 15:09:49

SQL Server

2010-09-03 10:40:30

SQL删除

2010-10-21 15:13:20

SQL Server系

2010-07-13 09:29:46

SQL Server
点赞
收藏

51CTO技术栈公众号