蟑螂恶霸的博客 蟑螂恶霸的博客
首页
  • Web自动化
  • 自动化测试框架
  • 接口自动化
  • 测试面试题
  • 技术文档
  • GitHub技巧
  • 博客搭建
  • Vue
  • JavaScript
  • Nginx
  • 自动化测试
  • 学习
  • 面试
  • 心情杂货
  • 实用技巧
  • 友情链接
关于
收藏
  • 分类
  • 标签
  • 归档
GitHub (opens new window)

蟑螂恶霸

一个爱折腾的程序员,什么都想试试!
首页
  • Web自动化
  • 自动化测试框架
  • 接口自动化
  • 测试面试题
  • 技术文档
  • GitHub技巧
  • 博客搭建
  • Vue
  • JavaScript
  • Nginx
  • 自动化测试
  • 学习
  • 面试
  • 心情杂货
  • 实用技巧
  • 友情链接
关于
收藏
  • 分类
  • 标签
  • 归档
GitHub (opens new window)
  • 常用工具类

  • 框架知识

    • SQL Server连接
      • 首先使用navcat连接SQL Server
        • 安装驱动
        • 测试连接
        • 其他问题
      • springboot连接SQL Server
        • 1.maven配置驱动连接
        • 2. jdbc连接数据库
      • com.microsoft.sqlserver.jdbc.SQLServerException: 驱动程序无法通过使用安全套接字层(SSL)加密与 SQL Server 建立 安全连接
        • 1.问题描述:
        • 2.问题分析
        • 3.问题确定
        • 4.问题解决方案
  • 基础技巧

  • java知识集锦
  • 框架知识
蟑螂恶霸
2023-02-22
目录

SQL Server连接

# 首先使用navcat连接SQL Server

# 安装驱动

navcat本身不能连接SQL Server,但是navcat提供了连接的Sqlserver的驱动必须先安装驱动才可以使用navcat连接SQL Server。
在navicat目录下找到对应驱动,点击安装即可, 安装过程中设置为全部允许安装 img

# 测试连接

然后去连接你的数据库就可以了
img

# 其他问题

其他问题: Could not open a connection to SQL Server [53]
客户端是在尝试用named pipe方式访问数据库,需要用tcp的方式
先检查确认侦听的tcp端口,客户端上执行telnet ip port 确认连通性OK
客户端上CMD界面执行一下cliconfg,会弹出如下窗口把TCP/IP加到启用列表中,然后应用并确定。
img

# springboot连接SQL Server

# 1.maven配置驱动连接

<!--   SqlServer 驱动 -->
<dependency>
    <groupId>com.microsoft.sqlserver</groupId>
    <artifactId>mssql-jdbc</artifactId>
    <version>8.2.1.jre11</version>
</dependency>
1
2
3
4
5
6

# 2. jdbc连接数据库

import java.sql.Connection;
import java.sql.DriverManager;

public class HelloWorld {
    public static void main(String[] args) {
        String driverName = "com.microsoft.sqlserver.jdbc.SQLServerDriver";
        String dbURL = "jdbc:sqlserver://localhost:1433;DatabaseName=Student";//数据库名称
        String userName = "sa"; //数据库账号
        String userPwd = "123"; //数据库密码
        try {
            Class.forName(driverName);
            Connection dbConn = DriverManager.getConnection(dbURL, userName, userPwd);
            System.out.println("数据库连接成功!");
        } catch (Exception e) {
            e.printStackTrace();
            System.out.print("数据库连接失败!");
        }
    }
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19

# com.microsoft.sqlserver.jdbc.SQLServerException: 驱动程序无法通过使用安全套接字层(SSL)加密与 SQL Server 建立 安全连接

# 1.问题描述:

在搭建完项目之后,然后使用vpn能连接上目标数据库,并没有发生错误。但是当将服务部署到服务器上之后就发生了如上的错误。

# 2.问题分析

1.首先看问题描述,发现是驱动加密与SqlServer出现了问题。说明可能是SqlServer数据库驱动与对方的数据库版本不一致导致的。但是根据我实际操作在我本地使用该驱动并没有出现报错,部署到服务器上才出现报错,这说明并不是数据库驱动和数据库版本不一致导致的。
2.后面去百度发现SqlServer数据库驱动必须和jdk的版本对应上,然后我在本地的jdk和服务器上的jdk都是同样的1.8版本,但是具体的小版本不一样。这个问题排除。
3. 在分析这个报错,发现是TLS10这个协议无法向上兼容TLS12这个协议的问题。

# 3.问题确定

TLS10这个协议无法向上兼容TLS12这个协议。

# 4.问题解决方案

注意这里是linux下的解决具体方案,在window下自己去找jdk\jre\lib\security这个目录。
1.找到自己的jdk安装目录命令。

echo $JAVA_HOME
1

2.在java.security文档中搜索jdk.tls.disabledAlgorithms
删除标红的内容(TLSv1、TLSv1.1、3DES_EDE_CBC)
img 3.重启服务 重启服务就解决报错了。

上次更新: 2023/03/22, 15:09:10
实现定时任务数据库配置
docker相关内容

← 实现定时任务数据库配置 docker相关内容→

最近更新
01
实现定时任务数据库配置
06-09
02
RSA加密工具类
02-22
03
java常用技巧
12-12
更多文章>
Theme by Vdoing | Copyright © 2022-2023 蟑螂恶霸 | Blog
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式