java.sql.SQLException:找不到localhost / buddhiedgeserver_db的合适驱动程序

时间:2012-06-19 04:33:47

标签: java mysql jdbc

我正在尝试连接到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

1 个答案:

答案 0 :(得分:3)

java.sql.SQLException: No suitable driver found

这意味着根据Driver#acceptsURL()合同,任何已加载的驱动程序都不接受JDBC URL。

你已经正确加载了MySQL JDBC驱动程序并且它没有抛出ClassNotFoundException,因此该部分没问题。但是,您的JDBC URL完全错误。它不符合MySQL JDBC driver documentation中指定的任何语法。这是一个相关的引用:

  

JDBC URL格式

     

MySQL Connector / J的JDBC URL格式如下,方括号([,])中的项是可选的:

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

如果未指定主机名,则默认为127.0.0.1。如果未指定端口,则默认为3306,即MySQL服务器的默认端口号。

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

以下是一个示例连接网址:

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

localhost/buddhiedgeserver_db的JDBC URL与记录的MySQL JDBC URL格式完全不符。相应地修复它。

jdbc:mysql://localhost/buddhiedgeserver_db