您现在的位置是:蓝石榴 > 个人博客 > 数据库

个人博客

以Windows身份验证连接SQL Server

2018-08-26数据库 3096
1)integratedSecurity=true以Windows身份验证连接SQL Server 2)若提示:没有为集成身份验证配置驱动程序,将驱动包中auth目录下对应X64、X32对应操作系统下的sqljdbc_auth.dll文件拷至系统目录System32下。
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下

很赞哦!(223)