在MyEclipse中用JDBC连接Sql Server 2005

时间:2023-02-07 10:10:25
1、软件安装和帐户设定

   1-1、安装“MS Sql Server 2005(SP2)” (内置帐户选择sa,密码设为123;如果没有设置内置帐户sa的话,请直接使用WinNT登录“SQL Server Management Studio”,选择安全性 → 登录名 → sa → 登录属性,然后设置密码123,关闭“SQL Server Management Studio”)

   1-2、安装“MyEclipse 5.5.1 GA”

   1-3、下载连接驱动包“sqljdbc.jar”

 

2、设置SQL Server服务器:

   2-1、“开始” → “程序” → “Microsoft SQL Server 2005” → “配置工具” → “SQL Server Configuration Manager”(确认“SQL Server Management Studio”已关闭)

   2-2、“SQL Server 2005 服务”中停止服务“SQL Server (SQLEXPRESS)”(默认是启动状态)

   2-3、“SQL Server 2005 网络配置” → “MSSQLSERVER 的协议”,启动“TCP/IP”(默认是禁用状态),然后双击“TCP/IP”进入属性设置,在“IP 地址”里,确认“IPAll”中的“TCP 端口”为1433

   2-4、“SQL Server 2005 服务”中启动服务“SQL Server (MSSQLSERVER )”(默认是停止状态)

   2-5、关闭“SQL Server Configuration Manager”(此时可以启动“SQL Server Management Studio”,并用帐户sa、密码123登录,SQL Server服务器设置正确的话应该能登录成功)

 

3、创建测试数据库和表:

   启动“SQL Server Management Studio”,并用帐户sa、密码123登录(SQL Server服务器设置正确的话应该能登录成功),创建一个数据库JSPTest,内建一个表regist

 

4、创建测试的Java工程和代码

   4-1、启动“MyEclipse” → “File” → “New” → “Project” → “Java Project”,命名为Test

   4-2、打开Test的“Properties” → “Java Build Path” → “Libraries” → “Add External JARs” ,选择下载好的连接驱动包“sqljdbc.jar”,然后点击“OK”确定

   4-3、创建一个测试类,编写如下代码:

import java.sql.*;

public class Test {

 public static void main(String[] args) {
  Connection con=null;
  Statement stmt=null;
  ResultSet rs=null;
  try {
   Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
   con = DriverManager.getConnection("jdbc:sqlserver://localhost:1433;DatabaseName=JSPTest","sa","123");
//   Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");  
//   con = DriverManager.getConnection("jdbc:odbc:JDBCSQLDemo_JSPTest");
   stmt = con.createStatement();
   rs = stmt.executeQuery("select userName,passWord,email from regist");
   while(rs.next()){
    String strUserName = rs.getString(1);
    String strPassWord = rs.getString(2);
    String strEmail = rs.getString("email");
    System.out.println(strUserName+"/t"+strPassWord+"/t"+strEmail+"/t");
   }
   if(rs!=null)
    rs.close();
   if(stmt!=null)
    stmt.close();
   if(con!=null)
    con.close();
  } catch (Exception e) {
   e.printStackTrace();
  }finally{
   System.out.println("Game Over~");
  }
 }

}

   4-4、执行代码,应该显示regist表的数据

   4-5、代码中注释的部分为ODBC桥连接代码,可以选用

   4-6、如果你以前用JDBC连接SQL Server 2000的话就要注意了:

在SQL Server 2000 中加载驱动和URL路径的语句是

“com.microsoft.jdbc.sqlserver.SQLServerDriver”
“jdbc:microsoft:sqlserver://localhost:1433; DatabaseName=JSPTest”

而SQL Server 2005 中加载驱动和URL的语句则为

“com.microsoft.sqlserver.jdbc.SQLServerDriver”

“jdbc:sqlserver://localhost:1433; DatabaseName=JSPTest”

注意两者的差异

 

 


JDBC连接SQL server 2005 全过程
JDBC连接SQL server 2005 全过程
使用的环境:SQL Server 2005 Express Edition ; Eclipse 3.2.2 + MyEclipse 5.1.1
下载Microsoft SQL Server 2005 JDBC 驱动程序
点击下载Microsoft SQL Server 2005 JDBC 驱动程序1.0.809.102 for SQL Server 2005简体中文版
安装JDBC驱动。
解压下载的驱动程序,默认生成一个目录(Microsoft SQL Server 2005 JDBC Driver),将此目录复制到C:/Program
Files/目录下;
在系统环境变量中设置Classpath路径,添加: C:/Program Files/Microsoft SQL Server 2005 JDBC
Driver/sqljdbc_1.0/chs/sqljdbc.jar
注意:若CLASSPATH中有其他值,注意添加时应用 ; 分隔
设置SQL Server服务器
我使用的是SQL Server 2005标准版SP2,这些都默认即可,一般不用配置。如果需要配置端口请看下面。
1、“开始”→“程序”→“Microsoft SQL Server 2005”→“配置工具”→“SQL Server 配置管理器”→“SQL
Server 2005 网络配置”→“MSSQLSERVER 的协议”
2、如果“TCP/IP”没有启用,右键单击选择“启动”。
3、双击“TCP/IP”进入属性设置,在“IP 地址”里,可以配置“IPAll”中的“TCP 端口”,默认为1433。
4、重新启动SQL Server或者重启计算机。

创建数据库
打开“SQL Server Management Studio”,登录连接SQL Server服务器,新建数据库,命名为test

在Eclipse中测试
1、打开Eclipse,“文件”→“新建”→“项目”→“Java 项目”,项目名为Test
2、在Eclipse中,选择“窗口”→“首选项...”→“Java”→“已安装的 JRE”,选择已安装的 JRE,点击“编辑”→
“添加外部”,选择%ProgramFiles%/sqljdbc_1.1/chs/sqljdbc.jar
3、在Test项目的“JRE 系统库”中可以看见sqljdbc.jar,如果没有可以右键单击项目Test→“构建路径”→“配置构
建路径...”→“Java 构建路径”→“库”→“添加外部 JAR...”,选择%ProgramFiles%/sqljdbc_1.1
/chs/sqljdbc.jar
4、编写Java代码,如下:
import java.sql.*;
public class Test {
public static void main(String[] srg) {
   String driverName = "com.microsoft.sqlserver.jdbc.SQLServerDriver";   //加载JDBC驱动
   String dbURL = "jdbc:sqlserver://localhost:1433; DatabaseName=test";   //连接服务器和数据库test
   String userName = "sa";   //默认用户名
   String userPwd = "123456";   //密码
   Connection dbConn;
   try {
   Class.forName(driverName);
   dbConn = DriverManager.getConnection(dbURL, userName, userPwd);
   System.out.println("Connection Successful!");   //如果连接成功 控制台输出Connection Successful!
   } catch (Exception e) {
   e.printStackTrace();
   }
}
}

 

 

 

 

 


用JDBC连接Sql Server 2005总结
1.准备工作: 准备相关的软件(Eclipse除外,开源软件可以从官网下载)

<1>.Microsoft SQL server 2005 Express Edition

下载地址:http://download.microsoft.com/download/0/9/0/09020fab-d2c3-4a8c-b9e0-db53a7a30ae8/SQLEXPR_CHS.EXE

<2>.SQL Server Management Studio

下载地址:http://www.microsoft.com/downloads/details.aspx?displaylang=zh-cn&FamilyID=c243a5ae-4bd1-4e3d-94b8-5a0f62bf7796#filelist

<3>.SQL Server 2005 driver for JDBC

下载地址:http://download.microsoft.com/download/8/B/D/8BDABAE2-B6EA-41D4-B903-7916EF3690EF/sqljdbc_1.2.2323.101_enu.exe

2.都下载完之后开始进行安装 ,前两个是属于数据库软件,正常安装即可(注意数据库登陆不要使用windows验证)

<1> 将JDBC解压缩到任意位置,比如解压到C盘program files下面,并在安装目录里找到sqljdbc.jar文件,得到其路径开始配置环境变量

在环境变量classpath 后面追加 C:/Program Files/Microsoft SQL Server2005 JDBC Driver/sqljdbc_1.2/enu/sqljdbc.jar

<2> 设置SQLEXPRESS服务器:

    a.打开SQL Server Configuration Manager -> SQLEXPRESS的协议 -> TCP/IP

    b.右键单击启动TCP/IP

    c.双击进入属性,把IP地址中的IP all中的TCP端口设置为1433

    d.重新启动SQL Server 2005服务中的SQLEXPRESS服务器

    e.关闭SQL Server Configuration Manager

<3> 打开刚刚安装好的 SQL Server Management Studio,连接SQLEXPRESS服务器, 新建数据库,起名字为sample

<4> 打开Eclipse

    a.新建工程-> java -> java project,起名为Test
 
    b.选择eclipse->窗口->首选项->java->installed JRE  编辑已经安装好的jdk,查找目录添加sqljdbc.jar

    c.右键单击目录窗口中的Test, 选择Build Path ->Configure Build Path..., 添加扩展jar文件,即把sqljdbc.jar添加到其中

<5> 编写java代码来测试连接数据库

程序代码:


import java.sql.*;
 

public class Test {
public static void main(String[] srg) {
  String driverName = "com.microsoft.sqlserver.jdbc.SQLServerDriver";  //加载JDBC驱动
  String dbURL = "jdbc:sqlserver://localhost:1433; DatabaseName=sample";  //连接服务器和数据库sample
  String userName = "sa";  //默认用户名
  String userPwd = "123456";  //密码
  Connection dbConn;

  try {
   Class.forName(driverName);
   dbConn = DriverManager.getConnection(dbURL, userName, userPwd);
   System.out.println("Connection Successful!");  //如果连接成功 控制台输出Connection Successful!
  } catch (Exception e) {
   e.printStackTrace();
  }
}
}
   

 


注:

1.因为SQLexpress服务器默认是禁用的并且端口号没有配置,所以要进行重新设置

2.如果你以前用java连接sql server 2000的话就要注意了:

在sql server 2000 中加载驱动和URL路径的语句是

String driverName = "com.microsoft.jdbc.sqlserver.SQLServerDriver";
String dbURL = "jdbc:microsoft:sqlserver://localhost:1433; DatabaseName=sample";

而sql server 2005 中加载驱动和url的语句则为

String driverName = "com.microsoft.sqlserver.jdbc.SQLServerDriver";
String dbURL = "jdbc:sqlserver://localhost:1433; DatabaseName=sample";

如果写法错误将会找不到驱动.

 

由于JDBC在连接SQL Server2005数据库时与SQL Server2000有些不同,配置要复杂一点。所以特意在此介绍连接方法!
 
具体步骤(SQL Server 2005必须为混合登录模式,例如:可以用“sa”登录):


   1、进入“SQL Server 配置管理器(SQL Server Configuration Manager)”,在左边窗口选择“SQL Server 2005网络配置”下面的分支??“SQL2005的协议”
  
   2、在右边窗口中右键点击“TCP/IP”,选“属性”,再选择“IP地址”,将表单中的“TCP端口”的值都改成1433(动态端口可以不改),然后点“确定”。
  
   3、重启“SQL Server”和“SQL Server Browser”这两项服务即可。

   4、在防火墙中打开1433端口。

   5、装入SQL Server 2005 JDBC驱动,编译时要添加到环境变量中。  下载地址:http://www.microsoft.com/downloads/details.aspx?familyid=6D483869-816A-44CB-9787-A866235EFC7C&displaylang=en

 

Example:(编译时请确保正确装入了SQL Server 2005 JDBC驱动,如果运行后显示出10行数据则连接成功!)


import java.sql.*;
import javax.swing.JOptionPane;

public class SQL2005Test {
    public static void main(String[] args) {

        ResultSet result;
        String dbURL;
       
        String name=JOptionPane.showInputDialog("输入SQL Server 2005登录名:");
        String pass=JOptionPane.showInputDialog("输入SQL Server 2005密码");
        String server=JOptionPane.showInputDialog("输入要登录的数据库服务器的地址");
        String instance=JOptionPane.showInputDialog("输入要连接到的数据库实例(默认不填)");
       
          if(instance.trim().equals("")){
             dbURL= "jdbc:sqlserver://"+server;
          }
     
        else{
               dbURL="jdbc:sqlserver://"+server+"//"+instance;
        }
       
       
    try {
        Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
       
        Connection con = DriverManager.getConnection(dbURL,name,pass);
   
        System.out.println("建立连接成功!");
   
        Statement stat=con.createStatement();
   
        result=stat.executeQuery("select TOP 10 * from master.dbo.spt_values");

        System.out.println("----------------------------------------------------------");
       
            int i=0;
            while(result.next())
            {
                i++;
                System.out.println(String.valueOf(i)+"  "+result.getString(1)+"  "+result.getString(2)+"  "+result.getString(3));
               
            }
        System.out.println("----------------------------------------------------------");
           
        }
    catch (Exception e){
        e.printStackTrace();
        }
    }
}