协商获得`TLSv1。请更新服务器和客户端以在尝试连接到 MS SQL 服务器时至少使用 TLSv1.2

问题描述 投票:0回答:3

这是我的连接字符串:

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 专业版(不要问)。我该如何解决这个问题?

sql-server jdbc sql-server-2008-r2
3个回答
0
投票

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

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

0
投票

我遇到这个问题是因为我的服务器密码已过期


-1
投票

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

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

代替

String url = "jdbc:sqlserver://192.168.0.95\\instance;databaseName=sampleDB";

使用

String url = "jdbc:sqlserver://192.168.0.95;databaseName=sampleDB";

同时传递正确的用户名和密码。

© www.soinside.com 2019 - 2024. All rights reserved.