Glassfish 连接到 MS SQL 服务器数据库

我安装了 MS SQL 服务器的评估副本,并附加了数据库 AdventureWorks2016,并在 localhost:4848 上运行了 Glassfish。TCP / IP连接被允许SQL服务器(配置管理器)和TCP端口1433是我从微软下载JDBC驱动程序7.0用于SQL Server的Microsoft JDBC驱动程序,并用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/String;I )

我错过了什么?java jdk 是 java 8 (jdk1.8.0_191) 和 Glassfish 5.0。

我已经降级到java8u151。现在错误,当我 ping 是:

AdventureWorks2016 的 Ping 连接池失败。无法分配连接,因为:驱动程序无法使用安全套接字层 (SSL) 加密建立到 SQL Server 的安全连接。错误:“不支持的curveId:29”。ClientConnectionId:ebe27ff7-0ce1-4e9d-95fd-52133be8ee01 请查看 server.log 了解更多详情。

正如我所说,我在服务器上使用 Windows 身份验证,因为我的笔记本电脑上不需要任何其他东西,并且因为当我安装 MS SQL Server 时,这首先起作用了。现在我尝试

jdbc:sqlserver://localhost;integratedSecurity=true;

对于 URL 属性,但它没有效果。


叮当猫咪
浏览 186回答 3
3回答

慕码人8056858

问题“不支持的curveId:29”已解决。这是我在 Glassfish(Java8 build 152)中的设置:“-Dcom.sun.net.ssl.enableECC=false”。看图:

www说

如果您将选项放在“server-config”而不是“default-config”中,@VinnhCC 给出的答案可以解决问题。

陪伴而非守候

你必须使用特定版本的 JDK 才能工作:181。如果我使用 JDK 版本 181,我只能让它与 MS SQL Server JDBC 驱动程序一致地工作。我希望有更好的方法来使用更多JDK 的日期版本,但不幸的是就是这样。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java