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 的驱动程序