【发布时间】:2018-11-05 17:56:14
【问题描述】:
我安装了 MS SQL 服务器的评估副本,并附加了数据库 AdventureWorks2016,并在 localhost:4848 上运行了 Glassfish。 SQL 服务器(配置管理器)上允许 TCP/IP 连接,TCP 端口为 1433。我已经从 Microsoft JDBC Driver 下载了适用于 SQL Server 的 Microsoft JDBC Driver 7.0 并将其解压缩到 C:\ 并设置一个 CLASSPATH 变量指向它和已将其副本放入 C:\Program Files\glassfish5\glassfish\domains\domain1\lib.我使用 Windows 身份验证连接到 MS SQL 服务器。 我使用所有默认值创建 AdventureWorks2016 连接池。当我ping它时,我得到了
java.lang.NoSuchMethodError: sun.security.ssl.SSLSessionImpl.(Lsun/security/ssl/ProtocolVersion;Lsun/security/ssl/CipherSuite;Ljava/util/Collection;Lsun/security/ssl/SessionId;Ljava/ lang/String;I)V sun.security.ssl.SSLSessionImpl.(Lsun/security/ssl/ProtocolVersion;Lsun/security/ssl/CipherSuite;Ljava/util/Collection;Lsun/security/ssl/SessionId;Ljava/lang/字符串;I)
我错过了什么? java jdk 是 java 8 (jdk1.8.0_191) 和 Glassfish 5.0。
我已降级到 java8u151。现在的错误,当我 ping 是:
AdventureWorks2016 的 Ping 连接池失败。无法分配连接,因为:驱动程序无法使用安全套接字层 (SSL) 加密建立与 SQL Server 的安全连接。错误:“不支持的曲线 ID:29”。 ClientConnectionId:ebe27ff7-0ce1-4e9d-95fd-52133be8ee01 请查看 server.log 了解更多详情。
正如我所说,我在服务器上使用 Windows 身份验证,因为我的笔记本电脑上不需要其他任何东西,而且当我安装 MS SQL Server 时,这首先起作用。现在我试试
jdbc:sqlserver://localhost;integratedSecurity=true;
对于 URL 属性,但它没有效果。
【问题讨论】:
-
NoSuchMethodError==> 库的编译/运行时版本不匹配
标签: java sql-server jakarta-ee glassfish