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