2023.3.24 java实习
前言
为了连接sql server数据库成功设置的,具体可能有什么安全性的问题因为水平不够所以考虑不到。
一、设置sa用户
sa是SQL Sever预设的管理员帐户,帐户资料储存于SQL资料表中。Windows验证采用PC上的帐户做验证(需必备管理员相关权限)。不论用哪种方式登录,所能运行的功能都是一样的。
两着不同之处是:信任连接和非信任连接。
windows 身份验证相对于混合模式更加安全,使用window身份验证时,sql不判断sa密码,而仅根据用户的windows权限来进行身份验证,我们称为“信任连接”,但是在远程连接的时候会因NTML验证的缘故,无法登陆。
混合模式验证就比较复杂,当本地用户访问sql时候采用windows身份验证建立信任连接,当远程用户访问时由于未通过windows认证,而进行sql server认证(使用sa的用户也可以登录sql),建立“非信任连接”,从而使得远程用户也可以登录。
———百度用户润晨雨
右键-属性-安全性

安全性-登录名-右键sa-属性

重启MSSERVER服务(在sql server的配置管理器中设置)
win+R 打开运行,输入 SQLServerManager15.msc (sql2019版本对应的打开配置管理器命令,如果是以前的版本打开命令是数字的不同比如SQLServerManager13.msc具体百度一下)

重启Sql Server,用sa用户连接。
新建数据库-测试查询表,新建表-学生表
二、设置IDEA
1.下载连接数据库驱动JDBC
jdk与jre版本适配,可以去官网查询适配jdk版本的jar包,我的Jdk版本为18.0.1.1,对应jar包的版本是11.2,下为官网地址
https://docs.microsoft.com/zh-cn/sql/connect/jdbc/microsoft-jdbc-driver-for-sql-server-support-matrix?view=sql-server-2017#java-and-jdbc-specification-support

选择jdbc-11.2.2.jre18.jar以及本文件夹下auth-x64(我是x64windows)-jdbc-auth-11.2.2.x64.dll文件加入IDEA的配置中

添加dll文件可以解决连接数据库时报错:com.microsoft.sqlserver.jdbc.SQLServerException: 没有为集成身份验证配置驱动程序。
IDEA-文件-项目结构-项目设置-库-新建项目库(点➕)-java-添加jar包和dll文件

2.测试连接代码
新建项目sqlconnecttest-新建类Test-
代码如下:
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import static java.lang.Class.forName;
public class Test {
private static Connection dbConn = null;
public static void main(String[] args) {
//根据反馈错误:驱动程序无法通过使用安全套接字层(SSL)加密与 SQL Server 建立安全连接。错误:“PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target” 加入了trustServerCertificate=true;重点看错误描述再找解决办法
String dbURL = "jdbc:sqlserver://localhost:1433;trustServerCertificate=true;DatabaseName=测试查询表";
try {
//加载驱动
Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
System.out.println("加载驱动成功!");
//2.连接
dbConn = DriverManager.getConnection(dbURL, "sa", "sa123");//这里改为设置的sa用户及其密码
System.out.println("连接数据库成功!");
String sql="select 姓名 from 学生表";//这个语句就是表的查询语句,按照你所建的表修改名称
PreparedStatement statement=null;
statement=dbConn.prepareStatement(sql);
ResultSet res=null;
res=statement.executeQuery();
while(res.next()){
String title=res.getString("姓名");
System.out.println(title);
}
}catch(Exception e) {
e.printStackTrace();
System.out.println("连接数据库失败!");
}
}
}
3.运行结果

总结
根据具体错误信息查找解决办法。
本文详细介绍了如何在IntelliJ IDEA (IDEA) 中连接到Microsoft SQL Server (MSSQL) 数据库,包括设置sa用户、下载JDBC驱动、配置IDEA以及编写并测试连接代码。通过安全设置和正确配置,成功实现了远程和本地的数据库连接。
2552

被折叠的 条评论
为什么被折叠?



