Glassfish的连接到MS SQL Server数据库

问题描述 投票:0回答:4

我有一个连接到它的数据库AdventureWorks2016安装MS SQL服务器的评估副本,并在本地主机上运行的Glassfish:4848。 TCP / IP连接被允许SQL服务器(配置管理器)和TCP端口为1433。我已经下载了Microsoft JDBC驱动程序7.0从Microsoft JDBC Driver SQL Server和用C解压缩它:\并设置CLASSPATH变量指向它,并放置它在C复制:\ Program Files文件\ glassfish5 \ GlassFish的\域\ DOMAIN1 \ lib中。我使用Windows身份验证连接到MS SQL服务器。我创建所有默认值AdventureWorks2016连接池。当我ping到它,我越来越

。java.lang.NoSuchMethodError:sun.security.ssl.SSLSessionImpl(Lsun /安全/ SSL / ProtocolVersion; Lsun /安全/ SSL /密文; Ljava / util的/收藏; Lsun /安全/ SSL / SessionID的; Ljava /郎/字符串;我)V sun.security.ssl.SSLSessionImpl(Lsun /安全/ SSL / ProtocolVersion; Lsun /安全/ SSL /密文; Ljava / util的/收藏; Lsun /安全/ SSL / SessionID的; Ljava /郎/字符串;我)

我在想什么? JAVA JDK是用java 8(jdk1.8.0_191)和Glassfish 5.0。

我已经降级为java8u151。现在的错误,当我ping命令是:

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

正如我刚才所说,我在服务器上使用Windows身份验证,因为我什么都不需要我的笔记本电脑和其他因这第一,当我安装了MS SQL Server的工作。现在,我尝试

JDBC:SQLSERVER://本地主机; integratedSecurity = TRUE;

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

java sql-server java-ee glassfish
4个回答
1
投票

问题“不支持curveId:29”得到解决。

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

查看图片:enter image description here


1
投票

如果你把“服务器配置”,而不是“默认配置”选项通过@VinnhCC给出的答案解决的问题。


0
投票

你打在GlassFish 5.0和Java版本高于8u161一个已知的问题。

the last time I answered this problem

这个问题的解决是降级您的Java版本低于8u161版本。

I answered this in more detail in another answer但是,如果你不喜欢降级的Java的想法,你既可以使用the latest GlassFish 5.0.1 nightlyswitch to Payara 5, which is derived from GlassFish并应工作在大多数情况下是相同的。

编辑:需要注意的是,这些更改之一后,您仍然需要让你的浏览器接受自签名证书添加安全例外,但页面应该没有进一步的问题开展工作;我与Java 8u144此验证自己


0
投票

你必须使用JDK的特定版本用于此工作:181如果我使用JDK版本181.我希望有使用的一种更好的方式更高达我只能得到这个与MS SQL Server的JDBC驱动程序工作始终最新版本的JDK但不幸的是,这是它。

© www.soinside.com 2019 - 2024. All rights reserved.