Java连接sql server 2008

Java连接sql server 2008数据库的方法可以分为两类,一类是通过jdbc-odbc桥,另一类是通过jdbc驱动。针对sql server 2008的window身份验证和sql server身份验证方式,每一类又有两种方法。

一、  jdbc-odbc桥:通过连接windows的odbc数据源来连接数据库,因此首先要配置odbc数据源:控制面板->管理工具->数据源(ODBC),如图:

如果已经有sql server 2008 的用户数据源,则直接配置该数据源的默认数据库即可。若没有则添加:

点击完成:

数据源名称(程序中要用到)和sql server 2008的服务器,下一步,

下一步,

选择默认的数据库,即要连接的的数据库,下一步,

完成。

1.       用windows验证方式连接数据库:

加载数据库驱动程序Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");

连接数据库:

Stringurl="jdbc:odbc:sqlserver;";

conn = DriverManager.getConnection(url);

完整代码如下:

 

importjava.sql.SQLException;

importjava.sql.Statement;

importjava.sql.Connection;

importjava.sql.DriverManager;

importjava.sql.ResultSet;

 

public classTest{

public static void main(String[] args)

{

    Connection conn;

    Statement stmt;

    ResultSet rs;

    try{

       //加载数据库驱动程序,对于jdbc4版本可以不用写这段代码

       Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");    }

    catch(ClassNotFoundException ex){

       System.out.println("数据库驱动加载失败");

    }

    String url="jdbc:odbc:sqlserver;";

    String sql="select* from exa";

    try{

       //连接数据库

       conn = DriverManager.getConnection(url);

       //建立Statement对象

       stmt=conn.createStatement();

       //执行数据库查询语句

       rs=stmt.executeQuery(sql);

       while(rs.next())

       {

          int id=rs.getInt("id");

          Stringname=rs.getString("name");

          int age=rs.getInt("age");

          System.out.println("id:"+id+"\tname:"+name+"\tage:"+age);

       }

       if(rs!=null){rs.close();rs=null;}

       if(stmt!=null){stmt.close();stmt=null;}

       if(conn!=null){conn.close();conn=null;}

    }

    catch(SQLException e)

    {

       e.printStackTrace();

       System.out.println("数据库连接失败");

    }

}

}

2.   用sqlserver身份验证方式连接数据库:

由于安装sql server 2008 时是以windows身份验证安装的,并没有为sqlserver 2008添加sql sever身份用户,因此首先添加用户:打开Microsoft SQL ServerManagement Studio并以windows验证方式登录,左侧的对象资源管理器->安全性->登录名,右击sa->属性,为sa用户添加密码,选择sqlserver身份验证,在“状态”项中授予连接到数据库和登录启用。右击对象资源管理器的根节点,选择属性->安全性->sqlserver和windows身份验证模式,这样就为sql server 2008创建了以sqlserver身份验证的用户sa。

加载数据库驱动程序 Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");

连接数据库:

String url="jdbc:odbc:sqlserver;";

conn =DriverManager.getConnection(url,"sa","123456");

                                     用户名        密码

完整代码如下:

 

importjava.sql.SQLException;

importjava.sql.Statement;

importjava.sql.Connection;

importjava.sql.DriverManager;

importjava.sql.ResultSet;

 

public classTest{

public static void main(String[] args)

{

    Connection conn;

    Statement stmt;

    ResultSet rs;

    try{

       //加载数据库驱动程序,对于jdbc4版本可以不用写这段代码

       Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");    }

    catch(ClassNotFoundException ex){

       System.out.println("数据库驱动加载失败");

    }

    String url="jdbc:odbc:sqlserver;";

    String sql="select* from exa";

    try{

       //连接数据库

       conn = DriverManager.getConnection(url, "sa","123456");

       //建立Statement对象

       stmt=conn.createStatement();

       //执行数据库查询语句

       rs=stmt.executeQuery(sql);

       while(rs.next())

       {

          int id=rs.getInt("id");

          Stringname=rs.getString("name");

          int age=rs.getInt("age");

          System.out.println("id:"+id+"\tname:"+name+"\tage:"+age);

       }

       if(rs!=null){rs.close();rs=null;}

       if(stmt!=null){stmt.close();stmt=null;}

       if(conn!=null){conn.close();conn=null;}

    }

    catch(SQLException e)

    {

       e.printStackTrace();

       System.out.println("数据库连接失败");

    }

}

}

 

二、  jdbc驱动方式:

1>.到微软官网上下载jdbc驱动包sqljdbc_3.0,解压后复制文件sqljdbc_3.0\enu\auth\x86\ sqljdbc_auth.dll到C:\Windows\System32,并将解压文件中的sqljdbc4.jar的路径添加系统环境变量的CLASSPATH里。

2>.设置并打开sql server的TCP/IP端口:打开SQL Server配置管理器->SQL Server 网络配置,MSSQL SERVER 的协议,TCP/IP设为启用,并右击选择属性,将IP地址端口设为1433. SQL Server配置管理器->

SQL Native Client 10.0配置->客户端协议->右击TCP/IP协议->默认端口1433.

3>.Eclipse 创建项目并为项目添加sqljdbc4.jar驱动包。

1.   用windows验证方式连接数据库:

加载数据库驱动程序Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");

连接数据库

String url ="jdbc:sqlserver://localhost:1433;DatabaseName=test1;integratedSecurity=TRUE;";

conn = DriverManager.getConnection(url);

 

完整代码:

 

importjava.sql.SQLException;

importjava.sql.Statement;

importjava.sql.Connection;

importjava.sql.DriverManager;

importjava.sql.ResultSet;

 

public class Test{

public static void main(String[] args)

{

    Connection conn;

    Statement stmt;

    ResultSet rs;

    try{

       //加载数据库驱动程序,对于jdbc4版本可以不用写这段代码     Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");

    }

    catch(ClassNotFoundException ex){

       System.out.println("数据库驱动加载失败");

    }

    String url = "jdbc:sqlserver://localhost:1433;DatabaseName=test1;integratedSecurity=TRUE;";

    String sql="select* from exa";

    try{

       //连接数据库

       conn = DriverManager.getConnection(url);

       //建立Statement对象

       stmt=conn.createStatement();

       //执行数据库查询语句

       rs=stmt.executeQuery(sql);

       while(rs.next())

       {

          int id=rs.getInt("id");

          Stringname=rs.getString("name");

          int age=rs.getInt("age");

          System.out.println("id:"+id+"\tname:"+name+"\tage:"+age);

       }

       if(rs!=null){rs.close();rs=null;}

       if(stmt!=null){stmt.close();stmt=null;}

       if(conn!=null){conn.close();conn=null;}

    }

    catch(SQLException e)

    {

       e.printStackTrace();

       System.out.println("数据库连接失败");

    }

}

}

2.   用sqlserver身份验证方式连接数据库:

加载数据库驱动程序Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");

连接数据库

String url ="jdbc:sqlserver://localhost:1433;DatabaseName=test1;";

conn = DriverManager.getConnection(url ,"sa","123456");

完整代码:

importjava.sql.SQLException;

importjava.sql.Statement;

import java.sql.Connection;

importjava.sql.DriverManager;

importjava.sql.ResultSet;

 

public class Test{

public static void main(String[] args)

{

    Connection conn;

    Statement stmt;

    ResultSet rs;

    try{

       //加载数据库驱动程序,对于jdbc4版本可以不用写这段代码     Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");

    }

    catch(ClassNotFoundException ex){

       System.out.println("数据库驱动加载失败");

    }

    String url = "jdbc:sqlserver://localhost:1433;DatabaseName=test1;";

    String sql="select* from exa";

    try{

       //连接数据库

       conn = DriverManager.getConnection(url, "sa","123456");

       //建立Statement对象

       stmt=conn.createStatement();

       //执行数据库查询语句

       rs=stmt.executeQuery(sql);

       while(rs.next())

       {

          int id=rs.getInt("id");

          Stringname=rs.getString("name");

          int age=rs.getInt("age");

          System.out.println("id:"+id+"\tname:"+name+"\tage:"+age);

       }

       if(rs!=null){rs.close();rs=null;}

       if(stmt!=null){stmt.close();stmt=null;}

       if(conn!=null){conn.close();conn=null;}

    }

    catch(SQLException e)

    {

       e.printStackTrace();

       System.out.println("数据库连接失败");

    }

}

}

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值