出现错误 SQL Server 未返回响应。连接已关闭

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

我使用 jdk 1.8.371 和 spring boot 2.1.5 连接 MS SQL Server 2008 数据库。我收到错误“SQL Server 未返回响应。连接已关闭”。我没有从数据库获取数据,下面是代码

Databse detailsjdbcUrl: jdbc:sqlserver://IPAddress:1433;databaseName=MyDatabase;integratedSecurity=false;encrypt=true;trustServerCertificate=true;sslProtocol=TLSv1
driver-class-name: com.microsoft.sqlserver.jdbc.SQLServerDriver
Class.forName(dbDriver);
try (Connection conn = DriverManager.getConnection(dbUrl, dbUsername, dbPassword)) {
    try (PreparedStatement cStmt = conn.prepareCall(dbQuery)) {
        try (ResultSet dbSet = cStmt.executeQuery()) {
            while (dbSet.next()) {
                    TransId = dbSet.getString("TRANS_ID");
                }
            }
        }
    }

我的询问:

Select TRANS_ID From Transactionlog;

我在 java.security 文件中禁用了 jdk.tls.disabledAlgorithms=None ,之后我能够连接数据库但无法获取数据。我也设置了system.setProperties但无法获取数据

java sql-server sql-server-2008 java-8
1个回答
0
投票

MS SQL Server 2008 仅支持 TLSv1.0。而jdk 1.8.371默认支持TLSv1.2和TLSv1.3。为了解决这个问题,我在路径 jdk-1.8\jre\lib\security

上的 java.security 文件中更改了以下 2 个属性
jdk.certpath.disabledAlgorithms=None

jdk.tls.disabledAlgorithms=None

通过进行上述更改,我能够从 MS SQL Server 2008 连接并获取数据

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