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

问题

com.microsoft.sqlserver.jdbc.SQLServerException: 驱动程序无法通过使用安全套接字层(SSL)加密与 SQL Server 建立安全连接。错误:“Socket is closed”。 ClientConnectionId:af2c402a-e8f2-4a63-ad54-f03079b20d19

解决

在网上找了很多方法,像什么加encrypt=false/true,加trustServerCertificate=true都没有用,最后看到有人用别的驱动就试了一下,成功了

使用 JTDS 驱动而不是JDBC

最新版的android studio 2023挺好使,不用再加版本号了

implementation libs.net.jtds

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

public class SqlConnectionExample {
    public static void main(String[] args) {
        try {
            Class.forName("net.sourceforge.jtds.jdbc.Driver");
            String url = "jdbc:jtds:sqlserver://数据库ip:1433/数据库名称";
            String username = "登录名";
            String password = "密码";

            Connection connection = DriverManager.getConnection(url, username, password);
            Statement statement = connection.createStatement();
            // 执行查询并获取结果集
            ResultSet resultSet = statement.executeQuery("SELECT * FROM table");
            // 遍历结果集并处理数据
            while (resultSet.next()) {
            // 从结果集中获取数据
            String name = resultSet.getString("name");
            // 处理获取到的数据
            Log.d(TAG, "run: "+name);
            }            
            //数据库操作

            // 关闭结果集、Statement 和连接
            resultSet.close();
            statement.close();
            connection.close();
        } catch (ClassNotFoundException | SQLException e) {
            e.printStackTrace();
        }
    }
    private static final String TAG = "HomeFragment";
}

参考文章:https://blog.51cto.com/u_16213407/9878452

  • 9
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值