以Windows身份验证连接SQL Server


   作者:蓝石榴    由lan16转载自:网络    更新于:2018-08-26 11:38    已被浏览:432次

1.代码:
package com.lan16.test;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;

/**
*
* @author lan16 蓝石榴技术社区 www.lan16.com
*
*/
public class SQLServerJdbcTest {

  public static void main(String[] args) {
    Connection conn = null;
    String sql = "";
    int result = -1;
    //SQLServer的JDBC URL编写方式:jdbc:sqlserver://主机名称:连接端口/数据库的名称?参数=值
    //执行数据库操作之前要在数据库管理系统上创建一个数据库,名字自己定,
    //下面语句之前就要先创建test数据库
    //integratedSecurity=true以Windows身份验证连接SQL Server
    String url = "jdbc:sqlserver://localhost\\SQLDBO;databaseName=test;integratedSecurity=true;";

    try {
      //之所以要使用下面这条语句,是因为要使用SQL Server的驱动,所以我们要把它驱动起来,
      //可以通过Class.forName把它加载进去
      Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");//以SQL Server数据库为例
      System.out.println("成功加载SQL Server驱动程序");
      //一个Connection代表一个数据库连接
      conn = DriverManager.getConnection(url);
      //Statement里面带有很多方法,比如executeUpdate可以实现插入,更新和删除等
      Statement stmt = conn.createStatement();
      sql = "select id,name from [test].[dbo].[user_tab]";
      ResultSet rs = stmt.executeQuery(sql);//executeQuery会返回结果的集合,否则返回空值
      System.out.println("id|name");
      if(rs.next()){
        System.out.println(rs.getInt(1) + "|" + rs.getString(2));//如果返回的是int类型可以用getInt()
      }
    } catch (Exception e) {
      System.out.println("jdbc异常<|>"+e.getMessage());
    }
    try {
      conn.close();
    } catch (SQLException e) {
      System.out.println("关闭数据库连接异常<|>"+e.getMessage());
    }
  }

}

2.运行结果:

成功加载SQL Server驱动程序
id|name
1001|张三
1002|李四

3.注:

1)integratedSecurity=true以Windows身份验证连接SQL Server
2)若提示:没有为集成身份验证配置驱动程序,将驱动包中auth目录下对应X64、X32对应操作系统下的sqljdbc_auth.dll文件拷至系统目录System32下

豫ICP备13022176号-2   鄂公网安备 42010602000416号   Copyright © 2013 - 2020 蓝石榴. All Rights Reserved  联系我