簡體   English   中英

使用JDBC時是否出現MissingResourceException?

[英]MissingResourceException when using JDBC?

我以前曾經多次使用JDBC沒有任何問題,但出於某種原因,在新服務器上,我發現它不起作用。 代碼在我的主機上編譯並運行良好,所有庫(包括JDBC)都應編譯成我運行的單個JAR。

基本代碼:

try
{
    Class.forName("com.mysql.jdbc.Driver");
}
catch (ClassNotFoundException e)
{
    System.err.println("Cannot load driver...");
    e.printStackTrace();
}

try
{
    connection = DriverManager.getConnection("jdbc:mysql://localhost/dbname?user=dbuser&password=dbpass");
    statement = connection.createStatement();
}
catch (SQLException e)
{
    System.err.println("Cannot connect to database...");
    e.printStackTrace();
}

錯誤:

Exception in thread "main" java.lang.ExceptionInInitializerError
    at com.mysql.jdbc.Util.stackTraceToString(Util.java:355)
    at com.mysql.jdbc.Util.<clinit>(Util.java:120)
    at com.mysql.jdbc.NonRegisteringDriver.parseURL(NonRegisteringDriver.java:764)
    at com.mysql.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:325)
    at java.sql.DriverManager.getConnection(DriverManager.java:620)
    at java.sql.DriverManager.getConnection(DriverManager.java:222)
    at com.test.Server.<init>(Server.java:78)
    at com.test.Server.main(Server.java:49)
Caused by: java.lang.RuntimeException: Can't load resource bundle due to underlying exception java.util.MissingResourceException: Can't find bundle for base name com.mysql.jdbc.LocalizedErrorMessages, locale en_GB
    at com.mysql.jdbc.Messages.<clinit>(Messages.java:61)
    ... 8 more
Caused by: java.util.MissingResourceException: Can't find bundle for base name com.mysql.jdbc.LocalizedErrorMessages, locale en_GB
    at java.util.ResourceBundle.throwMissingResourceException(ResourceBundle.java:1539)
    at java.util.ResourceBundle.getBundleImpl(ResourceBundle.java:1278)
    at java.util.ResourceBundle.getBundle(ResourceBundle.java:733)
    at com.mysql.jdbc.Messages.<clinit>(Messages.java:59)
    ... 8 more

我以前從來沒有遇到過這種錯誤,谷歌根本沒有幫助。 我已經檢查了數據庫憑據,端口號等。非常感謝您解決它的任何幫助!

更換..

connection = DriverManager.getConnection("jdbc:mysql://localhost/dbname?user=dbuser&password=dbpass");

與..bcoz默認端口為3306 for mysql.If更改給予

DriverManager.getConnection("jdbc:mysql://localhost:3306/minebench", "username", "password"); 

並添加“mysql-connector-java-5.1.0-bin.jar”。 然后嘗試一下。

暫無
暫無

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

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