软件的版本:
eclipse版本为2022.6
SqlServer版本为2019
JDBC为8.2版
jdk版本为1.8版
前期准备SqlServer设置:
(1)通过Windows身份进入SqlServer数据库,鼠标右键点击数据库——>属性
(2) 安全性——>勾选SqlServer和Windows身份验证模式——>失败和成功的登录——>点击确定
(3)安全性——>登录名sa——>右键之后点击属性
(4)状态——>授予——>启用
PS:每一步弄完都要点击确定,最后还要重启数据库。
(5)打开 SqlServer配置管理器,将TCP和Nameed状态全部启用。
(6)双击TCP,将IP1、IP10,TCP端口设置为1433,全部启用。
配置完测试一哈,看能不能登录SqlServer。
- 安装好JDK(傻瓜式安装,直接点下一步直接安装就可以了)安装完成之后,可以通过DOS界面判断是否安装成功。按住(Windows+R)然后输入cmd 点击确定
输入java -version 显示如下的内容表示JDK安装成功
2.将eclipse自带的jre切换成自己安装的jre
step1
step2
step3 preferences——>Java——>installed JREs
step4:点击and之后弹出来的页面,选择Standard VM 点击next
step5:directory——>finish
我jre已经切换了,只是演示一哈而已 。PS:应该是jdk.1.8.0_341里面的jre哈(我这里安装jdk的时候使用的默认安装路径)
step6:将系统默认jre选中点击Remove删除,然后再将我们自己添加的jre选中。
step7:新建一个Java项目 ,选择use a project specific JRE为我们安装的jre版本
step8:再创一个类,用于测试是否连接成功,现在还没有引入JDBC驱动器,还不能连接数据库。
测试代码:
package test3;
import java.sql.*;
public class T {
public static void main(String [] args)
{
String driverName="com.microsoft.sqlserver.jdbc.SQLServerDriver";
String dbURL="jdbc:sqlserver://localhost:1433;DatabaseName=xs"; // school为数据库名,此处填写你的数据库名
String userName="sa"; // 填写你的登录账户名名,我的是sa
String userPwd="20010223"; // 填写你的密码
try
{
Class.forName(driverName);
Connection dbConn=DriverManager.getConnection(dbURL,userName,userPwd);
System.out.println("连接数据库成功");
}
catch(Exception e)
{
e.printStackTrace();
System.out.print("连接失败");
}
}
}
step9:引入JDBC驱动器。鼠标右键src——>点击Prorerties。将下载好的JDBC复制到JDK安装目录下
点击add external JREs 选择JDBC 点击确定就好啦。
完成之后的结果示意图:
成功引入的结果示意图:
现在可以输入上面给出的测试代码运行试试:
遇到的问题:
com.microsoft.sqlserver.jdbc.SQLServerException: 驱动程序无法通过使用安全套接字层(SSL)加密与 SQL Server 建立安全连接。错误:“sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target”。 ClientConnectionId:f40d8661-b0d3-438c-9077-7475cd35d616
可能是因为使用的JDBC驱动版本太高,原本使用的是msscl-idbc-11.2.0.jre8.jar,但一直报上述错误,网上搜了很多方法,删除java.security里面的3DES_EDE_CBC字符等,均未解决,然后看到有人说原因可能是高端本的驱动可能不太兼容较低的sql server,尝试换了一个低版本的驱动后,程序可以正常连接数据库了。
我对JDK中的java.security文件经过了更改。将3DES_EDE_CBC删除了
删之前:
#jdk.tls.disabledAlgorithms=SSLv3, TLSv1, TLSv1.1, RC4, DES, MD5withRSA, \
# DH keySize < 1024, EC keySize < 224, 3DES_EDE_CBC, anon, NULL, \
# include jdk.disabled.namedCurves
删之后:
jdk.tls.disabledAlgorithms=SSLv3, TLSv1, TLSv1.1, RC4, DES, MD5withRSA, \
DH keySize < 1024, EC keySize < 224, anon, NULL, \
include jdk.disabled.namedCurves
这个我不知道有没有用哈哈哈。
软件全部下载路径:
链接:https://pan.baidu.com/s/1OoFGjwRdJU1gJPx7MEKZhA
提取码:twb1