簡體   English   中英

嘗試建立與 MySQL 數據庫的連接時出現 StackOverflowError

[英]StackOverflowError when trying to establish connection to MySQL database

當我嘗試使用 Java jdbc 驅動程序建立到我的 MySQL 數據庫的連接時,我目前遇到一個非常奇怪的錯誤。 該錯誤並沒有真正幫助我解決問題。 我怎樣才能解決這個問題?

請在下面找到代碼和錯誤消息:

    public static void main (String[] args) throws ClassNotFoundException, SQLException, InstantiationException, IllegalAccessException{
        
        Class.forName("com.mysql.cj.jdbc.Driver");
        Connection connect = DriverManager.getConnection("jdbc:mysql://localhost:3305/testDB", "root", "");
    }
Exception in thread "main" java.lang.StackOverflowError
        at java.base/javax.crypto.Cipher.init(Cipher.java:1430)
        at java.base/sun.security.ssl.SSLCipher$T13GcmWriteCipherGenerator$GcmWriteCipher.encrypt(SSLCipher.java:2019)
        at java.base/sun.security.ssl.OutputRecord.t13Encrypt(OutputRecord.java:451)
        at java.base/sun.security.ssl.OutputRecord.encrypt(OutputRecord.java:414)
        at java.base/sun.security.ssl.SSLSocketOutputRecord.deliver(SSLSocketOutputRecord.java:316)
        at java.base/sun.security.ssl.SSLSocketImpl$AppOutputStream.write(SSLSocketImpl.java:1212)
        at java.base/java.io.BufferedOutputStream.flushBuffer(BufferedOutputStream.java:81)
        at java.base/java.io.BufferedOutputStream.flush(BufferedOutputStream.java:142)
        at com.mysql.cj.protocol.a.SimplePacketSender.send(SimplePacketSender.java:55)
        at com.mysql.cj.protocol.a.TimeTrackingPacketSender.send(TimeTrackingPacketSender.java:50)
        at com.mysql.cj.protocol.a.NativeProtocol.send(NativeProtocol.java:568)
        at com.mysql.cj.protocol.a.NativeProtocol.sendCommand(NativeProtocol.java:632)
        at com.mysql.cj.protocol.a.NativeProtocol.convertShowWarningsToSQLWarnings(NativeProtocol.java:2107)
        at com.mysql.cj.protocol.a.NativeProtocol.scanForAndThrowDataTruncation(NativeProtocol.java:1938)
        at com.mysql.cj.protocol.a.NativeProtocol.readAllResults(NativeProtocol.java:1670)
        at com.mysql.cj.protocol.a.NativeProtocol.convertShowWarningsToSQLWarnings(NativeProtocol.java:2109)
        at com.mysql.cj.protocol.a.NativeProtocol.scanForAndThrowDataTruncation(NativeProtocol.java:1938)
        at com.mysql.cj.protocol.a.NativeProtocol.readAllResults(NativeProtocol.java:1670)
        at com.mysql.cj.protocol.a.NativeProtocol.convertShowWarningsToSQLWarnings(NativeProtocol.java:2109)
       ...
        at com.mysql.cj.protocol.a.NativeProtocol.scanForAndThrowDataTruncation(NativeProtocol.java:1938)
        at com.mysql.cj.protocol.a.NativeProtocol.readAllResults(NativeProtocol.java:1670)
        at com.mysql.cj.protocol.a.NativeProtocol.convertShowWarningsToSQLWarnings(NativeProtocol.java:2109)

補充說明:mysql_connector添加到classpath中,3305端口處於活動狀態

Connector/J 連接建立文檔建議使用這一行。

Class.forName("com.mysql.cj.jdbc.Driver").newInstance();

試試那個。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM