驱动程序无法通过使用安全套接字层 (SSL) 加密建立与 SQL Server 的安全连接

2022-09-04 22:46:41

我使用此代码创建了与 SQL Server 的连接。

String connectionUrl = "jdbc:sqlserver://IP:1433;" +
        "databaseName=db;user=db;password=pwd";
    Connection con = null;
  try {
     // Establish the connection.
     Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
     con = DriverManager.getConnection(connectionUrl);
        return "true";
  }

  // Handle any errors that may have occurred.
  catch (Exception e) {
     e.printStackTrace();
  }

但我得到了这个错误:

com.microsoft.sqlserver.jdbc.SQLServerException:驱动程序无法通过使用安全套接字层 (SSL) 加密建立与 SQL Server 的安全连接。错误:“套接字已关闭”。客户端连接 Id:5975fad5-8f8d-496a-a2bb-bff3a8d1a755

任何人都可以帮助我吗?提前致谢


答案 1

看看这篇微软JDBC博客文章

为了解决SQLServer的SSL问题(特别是对于Android客户端:JDBC驱动程序不能在Android操作系统中有效使用,不幸的是)尝试使用jDTS

jTDS是一个开源的100%纯Java(类型4)JDBC 3.0驱动程序,适用于Microsoft SQL Server(6.5,7,2000,2005,2008和2012)


答案 2

是吗

databaseName=MyDB

database=MyDB

?

试试后者。

您是否在Windows机器上?http://www.microsoft.com/en-us/download/details.aspx?id=24009

下载它并尝试在代码之外与服务器通信。端口查询工具将在代码之外显示它是否是防火墙(或类似)问题。


推荐