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

使用 Glassfish 打开与 Microsoft SQL 的连接时崩溃

使用 Glassfish 打开与 Microsoft SQL 的连接时崩溃

跃然一笑 2021-09-03 17:27:49
我正在使用 GlassFish 5.0.0 开发 JavaEE 8 应用程序,并且我想访问驻留在 Microsoft SQL 服务器中的数据库。我在 Maven 中附加了 Microsoft SQL 驱动程序 7.0 jre8。当我部署应用程序并尝试打开访问数据库的页面时,我崩溃了。下面的堆栈跟踪。java.lang.NoSuchMethodError: sun.security.internal.spec.TlsMasterSecretParameterSpec.getExtendedMasterSecretSessionHash()[Bat com.sun.crypto.provider.TlsMasterSecretGenerator.engineGenerateKey(TlsMasterSecretGenerator.java:107)at javax.crypto.KeyGenerator.generateKey(KeyGenerator.java:546)at sun.security.ssl.Handshaker.calculateMasterSecret(Handshaker.java:1174)at sun.security.ssl.Handshaker.calculateKeys(Handshaker.java:1120)at sun.security.ssl.ClientHandshaker.serverHelloDone(ClientHandshaker.java:1126)触发崩溃的代码在这里:public class DatabaseDatas {private final static String sqlconn = "jdbc:sqlserver://<redacted>;" +        "databaseName=dbName";/** * Gets Lelang data in LelangList * @return Data in LelangList table */public static ResultSet getLelang(){    try {        Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");        Connection sqlconnection = DriverManager.getConnection(sqlconn,"sa","password"); //this is the one which trigger the crash        sqlconnection.isValid(0); //ignore this        Statement sta = sqlconnection.createStatement(ResultSet.TYPE_FORWARD_ONLY,ResultSet.CONCUR_READ_ONLY);        String sql = "SELECT * FROM ListLelang";        return sta.executeQuery(sql);    } catch (ClassNotFoundException|SQLException e) {        e.printStackTrace();    }    return null;}我使用 Jetbrains Intellij IDEA 2018.2.3 作为 IDE,并将 JDK 1.8.0_151 设置为 Project SDK。我还在 GlassFish 5 管理面板的 JDBC 连接池中设置了 javax.sql.DataSource 和 java.sql.driver。我不知道为什么会发生这种情况。我在互联网上的任何地方都找不到我的错误。请帮我解决这个问题。如果需要,我可以提供更多信息(只要不是个人信息)。谢谢你。编辑:其实我忘了测试连接池。在我尝试通过 Glassfish 5 管理面板“ping”之后,我遇到了与上面堆栈跟踪中的错误相同的错误。
查看完整描述

2 回答

?
慕森王

TA贡献1777条经验 获得超3个赞

我决定完全放弃 Glassfish(因为据我所知,在撰写本文时,Glassfish 已经过时了)并使用Apache TomEE(Web 服务版本)作为 Web servlet。

即使使用最新的 JDK (1.8.0_181),它也能正常工作!不再有关于 MSSQL 的错误。


查看完整回答
反对 回复 2021-09-03
  • 2 回答
  • 0 关注
  • 285 浏览

添加回答

举报

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