为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

叮当猫咪 2021-12-30 20:46:39
我安装了 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 属性,但它没有效果。
查看完整描述

3 回答

?
慕码人8056858

TA贡献1803条经验 获得超6个赞

问题“不支持的curveId:29”已解决。

这是我在 Glassfish(Java8 build 152)中的设置:“-Dcom.sun.net.ssl.enableECC=false”。

看图:

//img1.sycdn.imooc.com//61cdaa490001526618940748.jpg

查看完整回答
反对 回复 2021-12-30
?
www说

TA贡献1775条经验 获得超8个赞

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


查看完整回答
反对 回复 2021-12-30
?
陪伴而非守候

TA贡献1757条经验 获得超8个赞

你必须使用特定版本的 JDK 才能工作:181。如果我使用 JDK 版本 181,我只能让它与 MS SQL Server JDBC 驱动程序一致地工作。我希望有更好的方法来使用更多JDK 的日期版本,但不幸的是就是这样。


查看完整回答
反对 回复 2021-12-30
  • 3 回答
  • 0 关注
  • 185 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信