web-dev-qa-db-ja.com

'jdbc:mysql:// localhost:3306 / mysqlに適したドライバーが見つかりません

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();
}
50
user994165

この特定の場合(Class#forName()が例外をスローしなかったと仮定すると、コードは、例外の代わりにthrowingの代わりに実行を継続しています)、このSQLExceptionは、ロードされたドライバーのいずれかに対して Driver#acceptsURL()falseを返したことを意味します。

実際、JDBC URLは間違っています。

String url = "'jdbc:mysql://localhost:3306/mysql";

一重引用符を削除します。

String url = "jdbc:mysql://localhost:3306/mysql";

こちらもご覧ください:

43
BalusC

mysql-connector.jarに対してclasspathを設定する必要があります

Eclipseでは、build pathを使用します

Webアプリを開発している場合mysql-connectorWEB-INFのlibフォルダー Webアプリのディレクトリに配置する必要があります

22
prashant kumar

Netbeanを使用している場合は、プロジェクトタブの下にあるドロップダウンボタンをクリックして、ライブラリフォルダーを選択します。 d Libraryフォルダーを右クリックし、「JAR /フォルダーの追加」を選択します。 mysql-connectore-Javaを見つけます。*。jarファイルは、urシステム上にあります。これは私のために働いたし、私もそれがあなたのためになることを願っています。問題が発生したら元に戻す

10

このエラーは私に起こりました。一般的に、Eclipseプロジェクト(またはIDE)にmysql-connector.jarが含まれていないために問題になります。

私の場合、OSの問題が原因でした。

Phpmyadminでテーブルを編集していて、mysqlがハングして、Ubuntuを再起動しました。私は成功せずにプロジェクトをきれいにしました。今朝、私がWebサーバーを試したとき、初めて完全に動作しました。

最初の再起動で、OSは問題があることを認識し、2番目の問題の後、修正されました。これにより、この問題が「発生」する可能性のある人の時間を節約できることを願っています。

4
xarlymg89

データベースドライバを説明する文字列の誤植もエ​​ラーを生成する可能性があります。

次のように指定された文字列:

"jdbc:mysql//localhost:3307/dbname,"usrname","password"

「適切なドライバが見つかりません」というエラーが発生する可能性があります。この例では、「mysql」に続くコロンがありません。

正しいドライバー文字列は次のとおりです。

jdbc:mysql://localhost:3307/dbname,"usrname","password"
3
Karthick

(URLが正しく、それでもエラーメッセージが表示される場合)NetBeansでクラスパスを設定するには、次の手順を実行します。

  1. プロジェクトワークスペースに新しいフォルダーを作成し、ダウンロードした.jarファイルを追加します(例:-mysql-connector-Java-5.1.35-bin.jar)
  2. プロジェクトを右クリック>プロパティ>ライブラリ> jar /フォルダーの追加作成したフォルダー内のjarファイルを選択します。 OKをクリックします。

これで、.jarファイルがライブラリーの下に含まれることがわかります。これで、Class.forName( "com.mysql.jdbc.Driver");という行を使用する必要がなくなります。また。

上記の方法が機能しない場合は、mysql-connectorのバージョン(例:5.1.35)を確認し、新しいバージョンまたは適切なバージョンを試してください。

0
Malith

私は同じ問題を抱えていました.jspを開発し、Eclipseでそれを配置した後、mysql connetorをWEB-INF-> libフォルダーに入れてビルドパスを実行し、ライブラリタブでビルドパスを構成する場合、これを修正します外部jarファイルを追加して、libフォルダーがある場所を指定します

0
hunter

私の解決策を伝えるだけです:私の場合、ライブラリとプロジェクトは自動的にクラスパスに追加されませんでした(理由はわかりません)。「ビルドパスに追加」オプションをクリックしても。そこで、実行->実行構成->クラスパスに進み、そこから必要なものをすべて追加しました。

0
Mr Guliarte