Javaを使用して、mysqlデータベースに接続しようとするとこのエラーが発生します。
Java.sql.SQLException: No suitable driver found for
jdbc:mysql://localhost:3306/mysql at
Java.sql.DriverManager.getConnection(Unknown Source)
at Java.sql.DriverManager.getConnection(Unknown Source)
at MyTest1.main(MyTest1.Java:28)
mysql-connector-Java-5.1.18-bin.jar
ドライバーを使用しています。それは私のビルドパスにあります。 MySQLを再起動しました。また、コマンドラインからrootでパスワードなしでログオンしたところ、正常に接続されました。現在、netstatにポート3306が表示されていません。以前は、別のエラーが発生していました(コードを変更しませんでした)。エラーは「ユーザー 'root' @ 'localhostパスワードNOのjdbc mysqlアクセスが拒否されました」
try {
Class.forName("com.mysql.jdbc.Driver");
}
catch (ClassNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
try {
String url = "jdbc:mysql://localhost:3306/mysql";
Connection con = DriverManager.getConnection(url, "root", "");
}
catch (Exception e){
e.printStackTrace();
}
この特定の場合(Class#forName()
が例外をスローしなかったと仮定すると、コードは、例外の代わりにthrowingの代わりに実行を継続しています)、このSQLException
は、ロードされたドライバーのいずれかに対して Driver#acceptsURL()
がfalse
を返したことを意味します。
実際、JDBC URLは間違っています。
String url = "'jdbc:mysql://localhost:3306/mysql";
一重引用符を削除します。
String url = "jdbc:mysql://localhost:3306/mysql";
mysql-connector.jarに対してclasspathを設定する必要があります
Eclipseでは、build pathを使用します
Webアプリを開発している場合、mysql-connectorをWEB-INFのlibフォルダー Webアプリのディレクトリに配置する必要があります
Netbeanを使用している場合は、プロジェクトタブの下にあるドロップダウンボタンをクリックして、ライブラリフォルダーを選択します。 d Libraryフォルダーを右クリックし、「JAR /フォルダーの追加」を選択します。 mysql-connectore-Javaを見つけます。*。jarファイルは、urシステム上にあります。これは私のために働いたし、私もそれがあなたのためになることを願っています。問題が発生したら元に戻す
このエラーは私に起こりました。一般的に、Eclipseプロジェクト(またはIDE)にmysql-connector.jarが含まれていないために問題になります。
私の場合、OSの問題が原因でした。
Phpmyadminでテーブルを編集していて、mysqlがハングして、Ubuntuを再起動しました。私は成功せずにプロジェクトをきれいにしました。今朝、私がWebサーバーを試したとき、初めて完全に動作しました。
最初の再起動で、OSは問題があることを認識し、2番目の問題の後、修正されました。これにより、この問題が「発生」する可能性のある人の時間を節約できることを願っています。
データベースドライバを説明する文字列の誤植もエラーを生成する可能性があります。
次のように指定された文字列:
"jdbc:mysql//localhost:3307/dbname,"usrname","password"
「適切なドライバが見つかりません」というエラーが発生する可能性があります。この例では、「mysql」に続くコロンがありません。
正しいドライバー文字列は次のとおりです。
jdbc:mysql://localhost:3307/dbname,"usrname","password"
(URLが正しく、それでもエラーメッセージが表示される場合)NetBeansでクラスパスを設定するには、次の手順を実行します。
これで、.jarファイルがライブラリーの下に含まれることがわかります。これで、Class.forName( "com.mysql.jdbc.Driver");という行を使用する必要がなくなります。また。
上記の方法が機能しない場合は、mysql-connectorのバージョン(例:5.1.35)を確認し、新しいバージョンまたは適切なバージョンを試してください。
私は同じ問題を抱えていました.jspを開発し、Eclipseでそれを配置した後、mysql connetorをWEB-INF-> libフォルダーに入れてビルドパスを実行し、ライブラリタブでビルドパスを構成する場合、これを修正します外部jarファイルを追加して、libフォルダーがある場所を指定します
私の解決策を伝えるだけです:私の場合、ライブラリとプロジェクトは自動的にクラスパスに追加されませんでした(理由はわかりません)。「ビルドパスに追加」オプションをクリックしても。そこで、実行->実行構成->クラスパスに進み、そこから必要なものをすべて追加しました。