讲课是用的MySQL,由于大家前期学过MS SQLServer,下面就以JDBC连接MS SQLServer为例来说明在连接的时候需要注意的几个问题:
1.下载JDBC连接MS SQLServer的驱动程序
下载地址:https://www.microsoft.com/zh-cn/download/details.aspx?id=11774
JDBC连接MS SQLServer的驱动程序:sqljdbc_6.0.rar
下载解压以后JDBC Drivers 6.0 and 4.2包含如下JAR包: sqljdbc.jar, sqljdbc4.jar, sqljdbc41.jar, and sqljdbc42.jar,另外还包括一些文件夹,其中有两个文件夹auth\x64或auth\x86,里面有一个sqljdbc_auth.dll,在使用Windows身份验证模式下连接的时候要用到,需要将sqljdbc_auth.dll拷贝到C:\Windows\System32目录下。如何使用这几个JAR包,请访问微软下面的网址:
https://msdn.microsoft.com/en-us/library/ms378422(v=sql.110).aspx
如果java使用的jdk1.8,就使用sqljdbc42.jar。
2.SQLServer登录的问题
SQLServer有两种登录模式:Windows身份验证和SQL Sever身份验证。同学们一般都使用的是Windows 身份验证模式。推荐同学们使用SQL Sever身份验证,我们开发中,一般都使用这种登录模式。
这里就遇到改变登录模式的问题。
将Windows身份验证登录改变成SQL Sever身份验证,请阅读下面的博客:
http://blog.csdn.net/zjx86320/article/details/9745669
3.JDBC连接SQLServer的两种登录模式的主要代码
只需要修改实验视频讲解的DBUtil.java就可以了,其修改如下:
public class DBUtil {
//MySQL数据库驱动程序
/*
private static String driverName = "com.mysql.jdbc.Driver";
private static String dbUserName = "root";
private static String dbPassword = "264309";
private static String dbUrl = "jdbc:mysql://localhost:3306/db_student?Unicode=true&characterEncoding=UTF-8";
*/
// 无论是采用Windows身份验证还是SQL Sever身份验证,JDBC连接SQLServer数据库驱动程序都是一样的
private static String driverName = "com.microsoft.sqlserver.jdbc.SQLServerDriver";
//登录模式采用SQL Sever身份验证
private static String dbUserName = "sa";
private static String dbPassword = "264309";
private static String dbUrl = "jdbc:sqlserver://localhost:1433;DatabaseName=student";
//JDBC连接SQLServer数据库,登录模式采用Windows身份验证的服务器地址,数据库名,主要加:integratedSecurity=true,集成验证,不需要用户名和密码
//String dbUrl = "jdbc:sqlserver://localhost:1433;integratedSecurity=true;DatabaseName=student";
public Connection getConn() throws Exception {
Class.forName(driverName);
//登录模式采用SQL Sever身份验证,也就是用用户名和密码的
Connection conn = DriverManager.getConnection(dbUrl, dbUserName, dbPassword);
//登录模式采用Windows身份验证
//Connection conn = DriverManager.getConnection(dbUrl);
return conn;
}
public void closeConn(Connection conn, Statement stmt) throws SQLException {
if (stmt != null) {
stmt.close();
if (conn != null) {
conn.close();
}
}
}
}
http://course.jcut.edu.cn/G2S/Template/View.aspx?courseId=9&topMenuId=111981&action=view&type=&name=&menuType=1&curfolid=116820