2

以下のコードを使用してデータベース接続を取得しようとすると問題が発生します。

import java.lang.*;
import java.sql.*;

public class Demo {
    public static void main(String[] args){
        try{
            Connection conn = DriverManager.getConnection("jdbc:mysql://127.0.0.1:3306/test?" + "user=test&password=123456");
        }catch(SQLException ex){
            System.out.println("SQLException: " + ex.getMessage());
            System.out.println("SQLState: " + ex.getSQLState());
            System.out.println("VendorError: " + ex.getErrorCode());
        }catch(Exception ex){
            System.out.println("Exception: " + ex.getMessage());
        }
    }                                             
}

出力されるエラーメッセージは次のとおりです。

SQLException: No suitable driver found for jdbc:mysql://127.0.0.1:3306/test?user=test&password=123456
SQLState: 08001
VendorError: 0

java.lang.ClassNotFoundException: com.mysql.jdbc.Driver
at java.net.URLClassLoader$1.run(URLClassLoader.java:217)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:205)
at java.lang.ClassLoader.loadClass(ClassLoader.java:321)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:294)
at java.lang.ClassLoader.loadClass(ClassLoader.java:266)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:186)
at Demo.main(Demo.java:9)

私のJavaバージョンは以下のとおりです。

java -> /usr/lib/jvm/java-6-openjdk-i386/bin/java
javac -> /usr/lib/jvm/java-6-openjdk-i386/bin/javac
javac.1.gz -> /usr/lib/jvm/java-6-openjdk-i386/man/man1/javac.1.gz
javadoc -> /usr/lib/jvm/java-6-openjdk-i386/bin/javadoc
javadoc.1.gz -> /usr/lib/jvm/java-6-openjdk-i386/man/man1/javadoc.1.gz
javah -> /usr/lib/jvm/java-6-openjdk-i386/bin/javah
javah.1.gz -> /usr/lib/jvm/java-6-openjdk-i386/man/man1/javah.1.gz
javap -> /usr/lib/jvm/java-6-openjdk-i386/bin/javap
javap.1.gz -> /usr/lib/jvm/java-6-openjdk-i386/man/man1/javap.1.gz
javaws -> /usr/lib/jvm/java-6-openjdk-i386/jre/bin/javaws
javaws.1.gz -> /usr/lib/jvm/java-6-openjdk-i386/jre/man/man1/javaws.1.gz

文字通り、このエラーメッセージのトラブルシューティング方法がわかりません。データベースが存在します。ユーザー名とパスワードが存在します。現在、データベースにテーブルを追加していませんが、結局接続しているだけなので、それが問題になることはないと思います...

ドライバーは/usr/ share/javaにインストールされます

-rw-r--r-- 1 root root   822524 10月 20  2011 mysql-connector-java-5.1.16.jar
-rw-r--r-- 1 root root   827942  9月  9 22:40 mysql-connector-java-5.1.21-bin.jar
lrwxrwxrwx 1 root root       35  9月  9 22:40 mysql-connector-java.jar -> mysql-connector-java-5.1.21-bin.jar
lrwxrwxrwx 1 root root       24 10月 20  2011 mysql.jar -> mysql-connector-java.jar

誰かがそれを修正する方法を知っていますか..あなたの助けに感謝します!:)

4

2 に答える 2

2

プロジェクトライブラリにmysqlコネクタドライバ(つまり、jarファイル)があることを確認してください。このエラーメッセージは、適切なドライバがない場合に表示されます。

このサイトからMySQLコネクタドライバをダウンロードできます。

于 2012-09-09T14:29:37.673 に答える
1

私は同じ問題を抱えていました、そして好奇心旺盛な答えは私が新しい解決策を見つけるのを助けました。

注:私はMavenを使用していました。

そこで、この依存関係を試すことにしました:http: //mvnrepository.com/artifact/mysql/mysql-connector-java

に追加してpom.xml実行した後、mvn compile exec:javaそれは機能しました。

于 2015-04-06T16:01:05.470 に答える