已协商获取TLSv1尝试连接到MS SQL Server时,请更新服务器和客户端以至少使用TLSv1.2

问题描述

这是我的连接字符串:

public static void connectToDatabase() {
    String url = "jdbc:sqlserver://192.168.0.95\\instance;databaseName=sampleDB";
          
    String username = "sa";
    String password = "pass";

    try {
       Connection conn =  DriverManager.getConnection(url,username,password);
       System.out.println("Connected to sql server");                   
    }

我从未使用过MS sql,但是我需要连接,这是我得到的错误

avg 12,2020 2:45:47 PM com.microsoft.sqlserver.jdbc.TDSChannel enableSSL
WARNING: TLSv1 was negotiated. Please update server and client to use TLSv1.2 at minimum.
com.microsoft.sqlserver.jdbc.sqlServerException: Login Failed for user 'sa'. 
ClientConnectionId:33111bca-b8c7-4be3-9673-b012c5949817

我正在使用Windows 7 Professional(不要问)。我该如何解决

解决方法

警告消息“警告:已协商TLSv1。请更新服务器和客户端以至少使用TLSv1.2。”与连接异常无关。

即使发出警告,连接也会建立。 连接方面的问题似乎与连接参数有关。

代替 字符串url =“ jdbc:sqlserver://192.168.0.95 \ instance; databaseName = sampleDB”;

使用 字符串url =“ jdbc:sqlserver://192.168.0.95; databaseName = sampleDB”;

还要传递正确的用户名和密码。

,

在 Maven 项目中,您可以像这样更改 pom.xml 中的版本;

<dependency>
    <groupId>com.microsoft.sqlserver</groupId>
    <artifactId>mssql-jdbc</artifactId>
    <version>8.2.1.jre11</version>
</dependency>
,

我收到此问题是因为我的服务器密码已过期