通过Java连接Sql Server数据库
Posted 月望曦
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了通过Java连接Sql Server数据库相关的知识,希望对你有一定的参考价值。
1、下载JDBC
JDBC是Java DateBase Connectivity的简写,翻译过来就是java连接数据库,或者更通俗地说就是java语言操作数据库。JDBC的本质其实是官方定义的一套操作所有关系型数据库的规则,也就是接口。
微软官方jdbc下载地址:https://www.microsoft.com/zh-cn/download/details.aspx?id=11774
下载之后解压到相应位置,找到Microsoft JDBC Driver 6.0 for SQL Server\\sqljdbc_6.0\\chs\\jre8\\sqljdbc42.jar包,我将该包放到了D:\\sqljdbc文件夹中,方便添加。
配置系统环境变量,将该包位置添加到环境变量CLASSPATH中
2、配置Sql Server
打开Sql Server配置管理器
这里我使用的是SQLEXPRESS的协议
启用TCP/IP和NamedPipes,并设置TCP/IP属性,改IP1地址为127.0.0.1,并启用所有IP
设置IPALL的TCP端口为1433(一般默认使用1433端口)
默认端口可在客户端协议中进行修改
设置完成后需要重启该协议才会生效
注意,MSSQLSERVER启动时会导致SQLEXPRESS启动失败。
3、数据库设置
使用SQLEXPRESS服务器,通过Windows身份验证进入
设置登录名,取消强制实施密码策略
启用登录名,并授权连接数据库
在属性中设置安全性,开启双模式身份验证
重启SQL Server客户端后进行登录测试
4、在IDEA中,使用Java连接SQL Server数据库
sqljdbc6.0,需要java jdk版本低于9,这里建议使用jdk8
jdk8官网下载地址:Java Downloads | Oracle
添加依赖sqljdbc42.jar
执行代码进行测试
import java.sql.*;
public class Test
public static void main(String[] args)
String driverName = "com.microsoft.sqlserver.jdbc.SQLServerDriver";
String dbURL = "jdbc:sqlserver://localhost:1433;DatabaseName=master";
String userName = "sa";
String userPwd = "123456";
Connection dbConn = null;
try
// 注册驱动
Class.forName(driverName);
// 获取数据库连接
dbConn = DriverManager.getConnection(dbURL, userName, userPwd);
System.out.println("连接数据库成功");
catch (Exception e)
e.printStackTrace();
System.out.print("连接失败");
常见问题:
1、驱动程序无法通过使用安全套接字层(SSL)加密与 SQL Server 建立安全连接。错误:“The server selected protocol version TLS10 is not accepted by client preferences [TLS12]”
解决:该问题可以通过降低驱动版本来解决,也可以修改安全协议。
在你的设备上找到jdk的安装目录Java\\jdk1.8.0_351\\jre\\lib\\security下的java.security修改安全协议的配置即可。删掉这两个:TLSv1、TLSv1.1。特别要注意的是,如果你是选择了jre的运行环境来运行,那就是这个目录【\\jre1.8.0_351\\lib】。
修改前:
修改后:
2、通过端口 1433 连接到主机 localhost 的 TCP/IP 连接失败。错误:“Connection refused: connect。
解决:
2.1 检查你进行连接的URL是否正确
2.2 关闭电脑防火墙
2.3 检查Sql Server的设置,重启SQL Server服务
参考:
使用Java连接SQLserver数据库_数据库_积极向上的小徐-DevPress官方社区
java连接本地数据库 驱动程序无法通过使用安全套接字层(SSL)加密与 SQL Server 建立安全连接。
程序链接服务器数据库正常,链接本地数据库就报错,数据库是sqlserver2012,数据库远程连接已启用。
详细描述如下 com.microsoft.sqlserver.jdbc.SQLServerException: 驱动程序无法通过使用安全套接字层(SSL)加密与 SQL Server 建立安全连接。错误:“java.lang.RuntimeException: Could not generate DH keypair”。
以上是关于通过Java连接Sql Server数据库的主要内容,如果未能解决你的问题,请参考以下文章
Java通过jdbc连接sql server2012详细过程