1

次のように MySQL 5.5 データベースに接続しようとしています。

public void getCon() throws SQLException, ClassNotFoundException {
    Class.forName("com.mysql.jdbc.Driver");
    Connection con=DriverManager.getConnection("localhost/buddhiedgeserver_db","root","amma");
    System.out.println("Connection"+con);
}

ただし、例外をスローしています

java.sql.SQLException: localhost/buddhiedgeserver_db に適したドライバーが見つかりません。

これはどのように発生し、どうすれば解決できますか? MyEclipse バージョン 9.1 を使用してmysql.jarおり、クラスパスに を含めました。

4

1 に答える 1

3
java.sql.SQLException: No suitable driver found

これは、Driver#acceptsURL()コントラクトに従って、JDBC URL がロードされたドライバーのいずれによっても受け入れられないことを意味します。

MySQL JDBC ドライバーを正しくロードしましたが、スローされていないClassNotFoundExceptionため、その部分は問題ありません。ただし、JDBC URL は完全に間違っています。MySQL JDBC ドライバーのドキュメントで指定されている構文には準拠していません。関連性の引用は次のとおりです。

JDBC URL 形式

MySQL Connector/J の JDBC URL 形式は次のとおりです。角括弧 ([、]) 内の項目はオプションです。

jdbc:mysql://[host][,failoverhost...][:port]/[database] »
[?propertyName1][=propertyValue1][&propertyName2][=propertyValue2]...

ホスト名が指定されていない場合、デフォルトで127.0.0.1. ポートが指定されていない場合、3306MySQL サーバーのデフォルトのポート番号である にデフォルト設定されます。

jdbc:mysql://[host:port],[host:port].../[database] »
[?propertyName1][=propertyValue1][&propertyName2][=propertyValue2]...

接続 URL の例を次に示します。

jdbc:mysql://localhost:3306/sakila?profileSQL=true

の JDBC URL はlocalhost/buddhiedgeserver_db、文書化されている MySQL JDBC URL 形式と完全に一致しません。それに応じて修正します。

jdbc:mysql://localhost/buddhiedgeserver_db
于 2012-06-19T05:43:42.333 に答える