以Windows身份验证连接SQL Server
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下