SQLException: 找不到适合 jdbc:mysql://localhost:3306/dbname 的驱动程序

Posted

技术标签:

【中文标题】SQLException: 找不到适合 jdbc:mysql://localhost:3306/dbname 的驱动程序【英文标题】:SQLException: No suitable driver found for jdbc:mysql://localhost:3306/dbname 【发布时间】:2013-05-09 19:14:50 【问题描述】:

我继承了一个项目(而且我完全没有 Java 经验)而且我陷入了困境。

我们有一个运行 redhat 的服务器,我需要更新其中一个 jar 文件。所以我只是复制了更新的文件并重新启动了该文件的服务。然而,这个过程已经在我们的另一台服务器上运行了,我也这样做了,但是在这台服务器上,它在日志文件中出现了以下内容。

Exception: com.mysql.jdbc.Driver
SQLException: No suitable driver found for jdbc:mysql://localhost:3306/dbanme

jar 文件被上传到网站根目录中的一个文件夹,该 jar 文件夹中是一个 lib 文件夹,mysql-connector-java-5.1.6-bin.jar 所在的位置。

有谁知道我可能缺少什么,因为我也是 linux 的新手。

提前致谢

【问题讨论】:

贴出你的代码,我们猜不出你写的什么并告诉你错误在哪里,我们需要一些代码 试试这个:***.com/questions/5556664/… 如果它不起作用,请发布一些代码 你还没有加载JDBC驱动.. 【参考方案1】:

你只需要设置:

[jdbc:mysql://localhost/dbanme] 

而不是

[jdbc:mysql://localhost:3306/dbanme]

因为java编译器默认理解一个端口3306,所以“localhost:”后不需要填写“3306”

【讨论】:

【参考方案2】:

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

此异常可能有 2 个原因:

    根本没有加载 JDBC 驱动程序。 URL 与任何加载的 JDBC 驱动程序都不匹配。

由于驱动程序似乎已加载,因此该 URL 在该机器上似乎无效:

jdbc:mysql://localhost:3306/dbname

您是否在该机器上的 3306 端口上运行并侦听 mysql。还要确保你在那里 hte schema dbname。

【讨论】:

我认为您对驱动程序已加载的假设是不正确的。驱动程序只能根据前缀拒绝 URL,而不是根据机器未运行或在不同端口上运行的事实

以上是关于SQLException: 找不到适合 jdbc:mysql://localhost:3306/dbname 的驱动程序的主要内容,如果未能解决你的问题,请参考以下文章

SQLException: 找不到适合 jdbc:mysql://localhost:3306/dbname 的驱动程序

java.sql.SQLException:找不到适合 jdbc:microsoft:sqlserver 的驱动程序

java.sql.SQLException:找不到适合 jdbc 的驱动程序:mysql://localhost:3306/dbname [重复]

java.sql.SQLException: 找不到适合 jdbc:sqlserver 的驱动程序... (intellij, maven)

java.sql.SQLException: 找不到适合 jdbc:mysql://localhost:3306/sushi 的驱动程序

HHH000231:模式导出不成功:java.sql.SQLException:找不到适合 jdbc:postgresql 的驱动程序